Fixing bug in geocoder test taking changing data into account

The exact coordinates returned for a geocoding request for Auburn's address
has changed twice since the test was created. In order to fix this I am
changing to use the `closeTo` method in the chai assertion library.

The documentation that helped me implement this fix to make the geocoder tests
pass again can be found at:

http://chaijs.com/api/bdd/#closeTo-section
Adding font awesome library for bigger icon selection for navbar
Now using Windows Live REST API instead of JavaScript API, navbar redesign

In this commit I created new signin routes which implement OAuth 2.0 single sign-on using the Windows Live REST API rather than the JavaScript API which we were using previously. To use the JavaScript API, the following external script had to be loaded from the `js.live.net` server in order to sign users in.

    js.live.net/v5.0/wl.js

Using the Windows Live REST API over the JavaScript API has the following advantages:

 - Does not have to load the external Windows Live script from the external host `js.live.net` in order to sign users in.

 - Windows Live login page does not open in a pop-up window.

 - Does not use AJAX to send user data to the server.

 - Completely eliminates the need for a signin controller script.

**Changelog:**

 - Removed route `signin.post`, kept route `signin.get`, added routes `signin.authenticate` and `signin.success` in `server/router/index.js`.

 - Added route `signout` in `server.router/index.js`.

 - Added new signin paths `/signin/authenticate` and `/signin/success` to the open paths in `server/middleware/wlauth.js`.

 - Extracted the navbar markup into its own file `navbar.html` which is included in the layout `default.html`.

 - Added new navbar markup in `navbar.html`

 - Added custom navbar styles in `public/css/styles.css`

 - Added new signin page markup in `server/views/signin.html`.

 - Made the `home` route redirect to `staff/staffHomePage` for staff.

This external script does not need to be loaded at all anymore. We also do not
have to make a seperate AJAX requet to send user data to the server.
Updating auth.json sample file with windows live sample data
Refactoring staff middleware to minimize duplicated work

I changed the order of the `staffauth` and `isStaff` middleware so that work is
not duplicated. Originally `staffauth` was followed by `isStaff` in the
middleware stack. Now `isStaff` is executed first and sets the response level
local `res.locals.isStaff` which is then used by the `staffauth` middleware
which is now next in the stack. I was able to make the `staffauth` middleware
simpler as a result.
Adding debug module and logging calls to geocoder module.
Fix for staff home page after database schema change.

This is a fix for left over previously undiscovered issues in the staff home page tables which result from the change in the database schema. The volunteer table was not sorting or loading rows properly. This fixes both of these problems for the `volunteer` table as well as the `cooordinator`, `committee`, and `leadership` tables.

As far as I can tell this will work for now, however, things are getting a little messy and it may be best to try to refactor this before making it anymore complex.

The problem was that most of the other fields in the volunteer table are now fields in the `volunteer` subdocument. The key that gets passed into the controllers `sort` function had to be changed depending on whether it was a user role type table. Also some additional logic was needed in the `replaceRow` function in the controller. I also changed `projectCoordinator` to be just `coordinator` in order to make things more consistent with roles.
Merge pull request #28 from CoryG89/master

Fixing bug in geocoder test taking changing data into account
Merge pull request #29 from CoryG89/geocoder-debug

Adding debug module and logging calls to geocoder module.
Merge pull request #30 from CoryG89/staff-middleware-refactor

Refactoring staff middleware to minimize duplicated work
Merge pull request #32 from CoryG89/nav-signin

Nav signin
Merge pull request #31 from CoryG89/staffHomePage-fix

Fix for staff home page after database schema change.
Merge branch 'master' of https://github.com/AuburnBigEvent/BigEvent

Conflicts:
	server/router/routes/staffHomePage.js