* fields argument is passed to elasticsearch backend as list
* if fields is present in es raw_result, use that rather than _source, fixes toastdriven/django-haystack#985
* also allows for _source to be empty, similar to speedplanes fix, fixing toastdriven/django-haystack#931
handle default fields correctly
added test for values call on elasticsearch