Added data type structure for clients

A base for the data structure used to manage all the clients and state.
Added hijacking to the sourceHandler

The sourceHandler now hijacks the connection and returns silently after
pushing the hijacked types to the manager.

Also updated to reflect changes in auth.go
Changed the User struct to include more information.

The User struct now called UserID contains a lot more info than
previously. This should make the transfer from HTTP to the Manager a lot
easier without losing state or track of what we are doing.
Added an option to disable authentication.

This makes it possible to run the server with all authentication
disabled. This should only be used for development testing.
Added main package to build executable