Simplified structure & CancelAllDownloads feature added

This patch simplifies the architecture used in the library and addes a new feature "cancelAllDownloads" that resets Croissant completely.