First pass at swappable authentication

Currently, it `require`s the extension named `authentication`.  This
uses the `package.json` file to determine the entry point of the
module.
Simplified authentication interface
Stubbed out a currentUser function
Merge branch 'basic_authentication'
Cleaned up the client build script

Wanted to do this before I got started modifying how it worked to add
additional core files
First working Websocket request interface

The front end is coming along quickly, the back end, however, is far
from complete.
Working full duplex communication!
Working on getting a database connection
Working persistance with websockets!

Conforms to XT.Rest methods expected inputs.
Moved to predefining some global variables

Also made the creation of the application use the global xCore object.
This will allow us to attach things to it before the app is created and
have them persist after it is created.
Moved socket to xCore object
Added XM.Dispatch to handle function dispatching
Throw real error instead of string
Removed unnecessary helper function
cert and key file paths now read from config
Updated websockets to work with auth
Added knex and ldapjs modules
take away ldapjs
Cleaned up source dir and pulled common logic out of extensions

I'm not sold on the function attached to XM.Model, but I think it'll be
fairly useful accross the board.
Cleaned up how I saved the sock reference