Small improvements

- Fixed 404/500 routes not working anymore.
- Fixed ZombieJS infinite digest loops with $location. This may need
some more investigating as it seems ZombieJS and Angular have some
conflict when dealing with location changes. Current solution tries to
make the requested URL the exact same as what would UI-Router would
expect. Primarily this means ending the URL with a forward slash.
- Explicitly supplied all browser options for ZombieJS.
- Added crude detection for ZombieJS 404 errors versus actual
(important) errors. Pretty much determines whether or not a 404 or a 500
will be send back to the client.
- Altering descriptions for categories/forums for SEO purposes.
- Added angular-toastr for notifications. Closes #17
- Added notification for the following:
* Socket.IO disconnection
* Socket.IO forced disconnection
* Socket.IO reconnected
* Location changed due to permission changes (such as signing in when
another tab is on the signup page).
- Made the socket connection on the client not specify a domain/IP.
Deals with the Socket.IO invalid CSRF token portion of #18.
- Post Reply button shows up regardless of whether or not you are signed
in. Attempting to post a reply when not signed in will show a Toastr
notification giving a link to the sign in page.
- Clicking the above link will also send a query string representing the
location you were just at, so that when you sign in, you will be
returned to that location.
- Removed the now redundant Jade module from the workers module list.
- Made the sign in notification (route validity check) broadcasted.