Client caching, front end fixes, code modularization

This pull request introducing client caching to save time and bandwidth. Good job, Chuan! I've gone over his code and it has my approval.

Also included in this pull request is the first stages of separating map_helper into a number of different modules as it had gotten a little hefty, especially with the cache added in. I also did some touch ups on location searching, getting rid of 'place of interest' markers and fixing #51. Also, you can now press enter from the main page location search instead of being forced to click the start button.