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.
i dont think that will do what you think it will do. err exists if the key is not found which means you want it to link the number. if you throw an error here you will never link the new number.