Initial
No dynamic memory allocations. All static now! :)
In the process of refactoring to make the code much cleaner and efficient.
Current version does not compile.
First version that actually compiles! :)
First working version using the new changes.

TODO:
- need to make sure resources are freed after each connection dies out.
Stable working version with static memory and a state machine.
- Connections are now disconnected and slots freed once any part of the link is broken.

TODO:
- there are sometimes connections that remain connected even though no data is being
sent through them. One solution may be to drop them. At the moment they are very few though
(only about 2 for 130 total connections made in a session) so it may not be that urgent
at the moment.
- make it pick a secure route - we don't want to route through home node and we want more
hops in each link.
- create DHT to store data.
- make each peer create their own key for encryption.
Merge ../gclient
Fixed the issue so that now it is possible to connect to several intermediate peers using *>*>* notation.
Merge ../gclient
Added some files.
Added the original idea file to the repo..
Updated the readme..
Changes:
- Separated the network related code into the new library: Virtual Socket Layer (VSL)
- Added many new features.

Current progress:
- Peer and hubs contact details need to be shared across the network. However there need to be rules that dictate what information is shared.
- Enable connecting to peers who are behind NAT. This will pave way for a robust and versatile socks proxy system.
- SOCKS proxy needs to be made to work properly (this can be done once we can share peer data and get a more decent relay database).
- Make it possible to listen on ports remotely - this will pave way for building applications that use remote listening to be able to listen even when they are behind NAT and have no way of accepting incoming connections otherwise.
Fixed makefile so that it builds the UDT library as well..
..