Refactored

Moved core functionality into Spider and Fetcher traits to make it easier to build spiders with specific functionality.