Reorganize file structure and clarify naming
* Move non-model objects outside of model folder
* Move exceptions folder up one level to reduce complexity
* Rename PluginHook and its extending classes to PluginRegistrar for clarity
* Remove ThinkUp from class names: mv ThinkUpPlugin to GenericPlugin and SmartyThinkUp to ViewManager
* Clarify crawler registrar crawl function name, renamed to runRegisteredPluginsCrawl to differentiate from plugins' crawl function
* Rename InsightsGenerator to DashboardModuleCacher to differentiate from Insights plugin
* Modify makeplugin dev script to reflect changes

This refactor is in preparatory groundwork for making insights pluggable
Add secret config directive that enables public Twitter username search
Display master branch Travis build status in README [ci skip]
[DB MIGRATION REQ'D] Support for checkins
First of two commits that will add Foursquare support:
This one is the data model modifications and core application changes required for posts with places, i.e., checkins.
Adds Place model object. Adds and map_image and icon fields to the places table, and is_archive_loaded_posts to instances table.
Also adds "Posts on this day from years past" to dashboard across networks.
Replace is_a with instanceof
Exit(0) if no failures
Foursquare plugin
* Gathers and displays a user's Foursquare checkin archive including comments and photos
* Maps recent checkins on a Google Map, displays checkin frequency per hour all-time and last week, pie-charts checkin place types
* Supports "flashback" checkins on this day in past years
Closes #718
Add POINT support to FixtureBuilder
Add POLYGON support to FixtureBuilder
PostDAO tests should use new POINT and POLYGON FixtureBuilder support
[DB MIGRATION REQ'D] Fix MySQL strict test failures
closes #1188
Facebook plugin: Fix installation path bug in OAuth re-authorization notification email
Foursquare plugin export posts to CSV
Code style
[DB MIGRATION REQ'D] Insights and baseline DAOs
Move all DAOs into their own folder
[DB MIGRATION REQ'D] Complete table comments
Add PHP 5.4 to Travis test list
Test fixes
* Explicitly set post_id in TestOfPostAPIController to avoid random FixtureBuilder key collisions
* Match up InsightDAO interface function signature with MySQL implementation to avoid failure in PHP 5.2
* Match mock TwitterOAuth return tokens to avoid failures in PHP 5.4
Documentation: Update the install guide to reflect all of the necessary PHP extensions.

On FreeBSD (and presumably other places) I needed to separately enable a number of other extensions to get ThinkUp to work. This commit just adds those to the list in the doc.

Update by @ginatrapani: Clarified which requirements are enabled by default in PHP, added links, break lines at max line length.

[ci skip]
Closes #1363