Support for gt, gte, lt, lte and improve `contains` filter

You can filter by some hash_store value 

    Something.objects.filter(data__gt={'a': '1'})
    Something.objects.filter(data__gte={'a': '1'})
    Something.objects.filter(data__lt={'a': '2'})
    Something.objects.filter(data__lte={'a': '2'})

Also `contains` may filter by list of values

    Something.objects.filter(data__contains={'a': ['1', '2']})