manual username & password input

fixes #2295
when using browser/plugin auto-complete from what I understand certain browser events
are not emmited and thus angular never picks up the new values.

This patch adds a fallback using jQuery to set the username & password if the angular
properties are not set.

see: https://github.com/angular/angular.js/issues/1460
chore(changelog): add commit-msg hook to verify commit messages

This adds a Git commit-msg hook which runs after a commit message is
written. It verifies that is matches a certain spec as defined by the
AngularJS document here:
https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#
This will allow for autmoated generation of Changelog.md in the future.

Migration notes: Please run `ln -sf ../../validate-commit-msg.js
.git/hooks/commit-msg` to install the commit hook.
chore(changelog): add git-changelog config and sample CHANGELOG.md

This is the setup for the Grunt task that generates a changelog. Note
that it currently generates the changelog for the range
changelog-start..HEAD where changelog-start is a tag. It will always use
the most recent tag it can find. We may want to change this
behavior. Also, the original repo has some bugs, so I'm using my fork
until he accepts my PRs.

Migration notes: To run: `grunt git_changelog`
Fixes misuse of food.key in modal display and instead uses the text value
generifies article for food when feeding to pet
Modifies pet name to be 'Desert Wolf' rather than 'Wolf-Desert'
perf(cluster): user NodeJS cluster module to use all CPU cores

This makes the server.js file fork workers for the number of CPUs on the
system. Each worker will then bind to the MongoDB and Express
ports. They are really all using the same connection through the master
process, but this lets the logic happen in seperate threads. I do worry
that we may see more VersionErrors if one user makes more concurrent
API requests. That really isn't the fault of cluster though, as that
issue still would have been present in the previous single-core version.
Merge pull request #2424 from colegleason/changelog

chore(changelog): add commit-msg hook to verify commit messages
chore(changelog): update CHANGELOG, Grunt changelog task

Added some types to search for in the Grunt task when executing the
extended version.
chore(changelog): remove Breaking Changes section, update Extended
Fixed broken test for display name
Merge pull request #2439 from diablomarcus/potatoe-fix

Fixes feeding modal display text
Merge pull request #2447 from colegleason/cluster

perf(cluster): user NodeJS cluster module to use all CPU cores
fix(profile): fix bug where empty profile displayed on username click

Due to #2396, Shared was undefined in one controller. There may be other
cases we should look out for.

Fixes #2465
fix(tests): don't use cluster in tests, else we get "connection refused"
fix(spells): <ESC> to cancel spell-casting
Add Travis build status to readme
First root controller test
Using newUser helper in tests
chore(errors): send req.body before JSON.parsing @colegleason