CloudClode + Constraint enhancements

- new RelatedTo constraint
- new method to fetch collections from CloudCode functions
I added CloudFunctionResult<T> because cloudcode returns "result" field and not the pluralized "results" even when it gives back a collection (you can see the JsonProperty attribute for that reason). Do you think we could find some workaround for this one?