Changed the way the bounding box is calculated for throughLine so it
uses the minimum values for left and top and maximum for right and
bottom.
Fixed some javadoc and removed some methods that were unneeded.
Fixed some issues with the cache, cache was previously only using the 
file name, now also uses the klass as well.
Finished getNeighbors, need to do more testing to make sure it works
properly.