refactor(controllers): use Sails' error-handling shorthands instead of old-fashioned res.send()

I knew the code was there but didn't realize it'll take care of returning JSON when the request is AJAX, rather than just rendering the error page. Nice!
feat(site settings): add a site settings database table and an admin dashboard in the CMS to control basic configuration settings (to be expanded later)

This change introduces a new model, the SiteSettings model, which should only ever have 1 table row associated with it. The new table and row will automatically be created the next time the app is lifted, if they don't exist already, and filled with the default configuration settings, such as the site title, subtitle, and a couple of boolean attributes such as whether or not to allow anyone to sign up, and whether or not to automatically give posting access to new users. The CMS also contains a new admin dashboard to control these settings, available only to users with admin privileges in the user table. The signup page and process has been updated to account for the new configurable boolean settings, and the top navigation bar will no longer show the signup button if allowSignup is set to false.