Gavin - Implemented the Internal Storage of Data

Created the DataStorage class, modified the Scraper, TideApplication, and TideGraphView class.

Whenever the app starts up, it pulls information from storage. This persists for the life-time of the application.

Whenever data is scraped, it is checked against the data currently available for it's associated date and location. It either does nothing, or updates the data. If no data for that date and location is available, it adds new data. (Internal Storage is updated on every "scrape").

GraphViewData has been overriden in TideGraphView, in order to implement Serializable, which thus allows TideDataSet objects to be serialized into storage.

All references to GraphViewData have been changed to TideGraphView.GraphViewData.