Bayesian Hierarchical Gaussian Process Models For Functional Data Analysis