Changed the way loading of Tox works

This commit contains API breaking changes.
Short summary:
- Load data into a ToxData object using ToxData.FromDisk or
ToxData.FromBytes
- Load data into a Tox instance using tox.Load
- Save Tox data using the Save method in a ToxData object
- Retrieve Tox data from an instance using tox.GetData

Why? Because implementing encryption in clients will be more elegant
this way.
Updated encryption stuff and replaced some methods with properties
Added a tox handle property
Merge branch 'master' of https://github.com/Impyy/SharpTox