Minor: Disable autocompletion on pin entry

Otherwise a big list of past pins builds up each time you authenticate.
Factor pin stuff to lib/pin.js

General rule: 'util.verbFoo()' is less ideal than 'foo.verb()',
especially once there is more than one verb to be done with foo.

This sets the stage for a proper db refactoring, so that tests can
be more guaranteed to not clobber the "real" db.

Fix #68
Only scroll to chat message if at bottom of history (Fixes GH-73)
Merge pull request #77 from remixz/chat-scroll-at-bottom

Only scroll to chat message if at bottom of history (Fixes GH-73)
Merge pull request #70 from spinda/patch-1

Minor: Disable autocompletion on pin entry
Merge pull request #75 from isaacs/pin-factor

Factor pin stuff to lib/pin.js
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.