Refactor "ctx" param to last arg in shape.buffer()

This is more consistent with other methods that take a context.
Deprecate ParseUtils and some methods in DistanceUtils

See Issue#19. And these things are mostly just used by Solr.
Also corrected an opportunity to re-use an array.
Remove io.LineReader, io.sample.*, io.geonames.*  Closes #19
Clarify that worldBounds should be specified via ENVELOPE syntax now.
Optimize JtsBinaryCodec to use less byte[] creating and copying
[maven-release-plugin] prepare release spatial4j-0.4
[maven-release-plugin] prepare for next development iteration
Update pom; generate a better site & publish to gh-pages.
Revamp README.
Updating Geocentric point interface and implementation
Implementing toGeocentric and toGeodetic methods in Transformation utilities - porting methods from ASL Geodesy. Methods need constants and height references prior to build
Implemented 3D vector class
Building the interface for vector utilities required for implementing the directed cosines transofrmaiton
Implemented vector utilities class for 3D vectors
Adding and implemented direction cosine point and direction cosine point impl - Right now geocentric point and direciton cosine point are separate but might want to improve code reuse later by mkaing both 3D vector base classes and then using a maker interface and the additional shape methods for extension. Would significantly improve code reuse
Implementing direction cosines - needs to provide inheritance abstraction on 3 component point for vector utilities to apply
Adding a generic 3D point implementation
Deprecating preiovus Vector3D class
Refactored Point3D with documentation as a Vector3D base class
Updating javadoc in Vector3D