Updated documentation, readability & added sharedHttp support

The read and write for the HTTP side can now be split into two servers.

There are significantly more comments and things are broken into seperate files for readability.

Breaking things into seperate files did not increase loc, it only increased readability / maintainability.