Async support, renaming and refactoring

-Added AsyncLoad(string uri) to CsvProvider, JsonProvider and XmlProvider (fixes #18)
-Renamed SampleList to SampleIsList
-Renamed Separator to Separators.
-CsvProvider now uses GetSample instead of constructor like the other providers
-Refactored generation of Parse/Load methods common to the Csv/Json/Xml
-Moved AssemblyResolver to separate file
-For Json/XML, when the top level returned element is an array, use "GetSamples" instead of "GetSample"
-GetSamples for when the sample is a list (fixes #208)
-Doc changes (fixes #207)
-Reorder some of the parameters to be more consistent between providers