fix(models): resolve some standing issues with model updating by making use of beforeValidation()

Somehow I completely missed beforeValidation() when I was implementing the models the first time, and struggling with how to make it ignore the `createdAt` and `updatedAt` properties, as well as the standing issue of the `author` property for story models sometimes coming in as an object, and sometimes as an ID. This should resolve all of those issues.
feat(site settings): making changes to the site settings now refreshes them immediately on the backend, rather than requiring a server restart

Wasn't sure whether to classify this as a bug fix or a feature... but let's be optimistic and call it a feature. Before this change, you could change the site settings from the admin dashboard in the CMS, but the Sails server would need to be restarted for the changes to show up. Now, the settings are refreshed on save, so they will be reflected on the site immediately.
feat(Google Analytics): add the ability to turn on Google Analytics tracking to the site settings and admin dashboard

This commit introduces two new fields to the site_settings table, one to control whether Google Analytics tracking should be turned on or off, and the other to store the Google Analytics ID (which will only be used if the former is set to true). All pages will be tracked except for the CMS side, though as of right now there is not yet any special code to account for this being mostly a Single Page App (SPA), so GA may or may not pick up everything. I plan on monitoring the GA tracking on my own test site for a bit before I spend time optimizing the client-side JS for Google Analytics, if at all.