Advanced Coding Techniques for Long-range Raman/BOTDA Distributed Strain and Temperature Measurements