Refactored a bunch of things

* Improved function signatures of subscribe(), crawl()
* Created subscribeAndCrawl(), used in POST /crawl/
* Created SubscriptionStorage interface, PdoSubscriptionStorage implements it
* Better defined what dependencies need to be defined on
* Added docblocks for most of the important functions