Boundary Value Methods for the Reconstruction of Sturm-Liouville potentials