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

you should rejig these imports so that they are in 3 blocks

```
standard library

other packages

sunpy
```