Adding Json Providers and tweaks for nuGet

I've added a JSON data provider and I've tweaked the nuGet settings so
that it will now download missing nuget packages on strange machines.
Added comments and tidied up unneeded code
Fixed capitalization issue
FIxed defaults for the JsonQuery
Merge remote-tracking branch 'steroberts89/master'
added Json DataSource from @steroberts89