Use asynchronous blocks instead of delegate callbacks

This is a major revision of the framework. The library now supports asynchronous blocks instead of delegate callbacks. This has the advantage of making success/failure callbacks much easier to deal with. In addition to this ALL methods can now be called synchronously. This provides a lot of flexibility to the developer when implementing the lib.

The CFNetwork framework has also been removed as this uses the underlying ftplib exclusively for all actions.

Added a new feature to get the number of bytes of a remote file. This can also be used to test if a remote file exists on the server.

Unit tests have been added to test all functions using the synchronous calls (very convenient!).

The SampleFTPKit.project has been updated to show how to use the asynchronous API.

The README has been updated to show how to use both the synchronous and asynchronous API.

Lastly, the framework has been updated to use a more compact coding style.