fix(initDB): provide more accurate error messages

Fix error message in initDB if database doesn't exist on mongolab
Rewrite initDB.js so everything is wrapped in an initDB namespace (not a module because only one instance is needed at a time)
Add unit tests for initDB
chore(.gitignore): ignore .idea
fix(initDB): initDB was not set up to run from the command line

Move the functionality into a lib file to aid testing.
fix(server): listen on 0.0.0.0 to allow remote connection
style(gravatar): spelling error in gravatar spec test name
chore(specs): rename spec files for consistency
docs(README): add browser support section
Fixed failing tests
test(admin): refactored and fixed admin tests
fix(admin-users-list): fix typo
test(admin-users): fix mock modules

Mock modules need to run inside beforeEach blocks otherwise they can
overwrite each other if they have the same names.
docs(README): add reference to the book
docs(README): remove `cd ..` as it is misleading later
docs(README): clarify what working directory to use
docs(README): fix up what folders to be in when installing
fix(projects): current user roles were not being shown
fix(projects): ensure that we don't break if no one is logged in
fix(security): ensure that login returns the correct value

Closes #193
chore(angular): update to 1.2-rc.3
fix(README): fix incorrect npm install