Plugin Framework WiP;

API:
- Added a basic plugins framework
- Gruntfile altered to watch plugins directory
- Users model altered to match new front-end options
- PulseWire plugin created
- socket.io code refactored to PulseWire plugin

FE:
- Had a little fun with a 3D button on the home page that's probably
going to ship for a while
- Cleanup to sidebar-pulse models and mayhem
- Implemented the Web Notification API to let users know they've
received messages, etc., while away or while Pulsar is minimized
- service/notifications created so any controller can easily trigger the
display of desktop notifications
- PulseWire service adaptations required now that PulseWire is a plugin
in the server with a communications channel
-
End-to-end PulseWire session create and connect
PulseWire Plugin and FE LESS Refactor

This commit is the functional side of the LESS refactor and PulseWire
plugin enable. The next commit will have Conversations implemented
(required the LESS refactor) and a lot of tweaks & fixes to the LESS
sources. I wanted this bit as a restore point.

API:
- bugfix: config.emailUser/config.emailPassword do not exist. Changed to
config.app.emailUser/config.app.emailPassword

PulseWire Plugin:
- Factored Pulsar-specific data out of pulsewire/package.json
- > into pulsewire/pulsar-plugin.json
- HELLO message passing with authToken implemented
- Basic load balancer framework started (enough to rough in its API)
- Factored use of load balancer into PulseWire session manager
- security: Factored cookie secret out of github repo into environment-
local configuration (again, do NOT share this data on github...I know
this...I fucked up).
- 404 message changed
- debug script updated to launch pulsar-api.js not robcolbert-api.js
- Extremely haphazard GUID generator added for now
- NPM package name changed to "pulsar-api"

FE:
- renamed robcolbert.css -> pulsar.css
- Major LESS refactor
- Added my personal "dark mood" profile photo
- bugfix: Sidebar pulse composer now clears its content when a new pulse
is created
- PulseWire plugin activated
- UserSession logging changed
- removed the defuct "main.css"
- About changed
- Removed box-shadow style from header element
- Home page content changed
- Pulses view adapted (fixes to come next)
- Sidebar adapted (fixes to come next)
Major Presentation Update

The presentation system is formalizing into a nice, modular system where
pulses are pulses, comments are comments, announcements are
announcements, etc., regardless where they appear in the UI. The past
several commits are all part of one big work unit to refactor the
entirely of all LESS and HTML pieces of Pulsar.