Unified Downloader

Unified Downloader's primary aim is to remove the downloading of light curve files from the Light Curve module.
This is done with help of custom clients written for LC sources.In addition VSO module is also made compatible with this. 
The downloader has same query based capability as the vso module.
Unified Downloader has a factory based implementation requiring the client to have validation class method '_can_handle_query'. 

PS: This is not pep8 compliant yet in various parts.I am working on that

So this is always prioritising the LC client over the VSO if only `Time` and `Instrument` are passed? Is this after one of the LC clients has checked if it supports the specified instrument?