First pass at linting

This patch includes a .eslintrc that sets the environment to node, quotes to single, and un-used vars to warn.

There is a light refactor against the lib folder (currently only folder being linted).

lib/auth
  * only style changes

lib/posts
  * hoist savePost so it is not executed before it is defined
  * style bikeshedding

lib/profile
  * add 500 error to the db.get('secondary') in addPhone.  This might not be the correct error code.
  * clean up some quotes

lib/services
  * Added error handling inside of home.  Sends a 404 if a call to get an op doesn't supply anything, this may be the wrong error code.
  * changed ```ctx``` to ```context``` in profile.  This was to stop the profile function from shadowing the variable in the higher scope.  Analytics has manually been added to the ```context``` object.  If this is undesirable I will revert it.
  * minor style tweaks

lib/utils,js
  * semi colons

As you can see are still a few warnings coming up due to unused vars... these unused vars do make sense though and serve as documentation.  I would suggest keeping this flag on as a warn, although too much noise can make the warnings useless.
no-use-before-define is a default rule in eslint

http://eslint.org/docs/rules/no-use-before-define.html

savePost is being called in getID