Added object for storing state info

/src/org/osuosl/ocw/StateChangeData.java: Stores all the necessary objects and fields that are needed if the app is destroyed in order to be able to restore the state as it was left.
On create check if save state available and then load it

/src/org/osuosl/ocw/Schedule.java: If there is saved state data available then it the app loads this data instead. Restores state and view when the app was destroyed. Created method show_bio just for populating the bio view and returning whether there was an error. Modified onKeyDown method so that when back button is pressed the current date is set not the result of the now() method. Deleted some obsolete commented out code.
Merge pull request #17 from markholland/bug-14211

Bug 14211
Apk with latest changes, State saved on rotate

/ocw-android.apk: On rotate last state is restored.
Added an event to shcedule.json

/JSON/schedule.json: Just copied an already existing event to a different date for testing orientation changes.
Handle events with multiple speakers

/src/org/osuosl/ocw/Schedule.java: Event speaker is presenter when event has multiple speakers, description is event description. Bio view displays all speakers.
Updated JSON with multiple speakers example

/JSON/schedule.json: Event 10 has multiple speaker ids.
Merge pull request #18 from markholland/bug-14223

Bug 14223
Fixed spelling mistake in a speaker json

/JSON/5.json: comma instead of dot in website.
Merge branch 'development' of https://github.com/markholland/ocw-android into development
Rearranged methods for clarity, Fixed refreshing and moved to asynctask.

/src/org/osuosl/ocw/Schedule.java: Started grouping together similar methods as code had gotten a bit tedious to view. Refresh now run in an asynctask, need to add a loading toast. Split loadSchedule into loadSchedule and setAdapter to separate work that can be run on a different thread from work that must be run on the ui thread.
Loading dialog when refreshing

/src/org/osuosl/ocw/Schedule.java: While refreshing a dialog is shown to indicate this, is dismissed upon completion.
Merge pull request #19 from markholland/bug-14679

Bug 14679
Fixed bug with speaker name in event description

/src/org/osuosl/ocw/Schedule.java: wasn't handling correctly when a presenter is available for an event which lead to events without presenters to have null speaker title in the event description header.
Updated .apk with latest changes
All speaker information loaded as each event is loaded

/src/org/osuosl/ocw/Schedule.java: Ensures all necessary app data is downloaded at the same time by downloading the speakers as each event is loaded.
Fixed bug retrieving speaker ids from database

/src/org/osuosl/ocw/DataBaseHandler.java: Forgot to update the database handler to correctly retrieve events with multiple speaker ids.
Updated .apk to latest changes.
Added cache timeout value to tracks and schedule JSON

/JSON/tracks.json: Added integer for cache timeout in ms.

/JSON/schedule.json: Added integer for cache timeout in ms.
Added cache timeout field to speakers JSON