Curl transfer

Added curl fallback for data transfer. Moved hard coded stream context calls into separate transfer class. Created interface for transfer classes. Added tests.