Made return values for variant field iterators consistent with STL iterators

1. Fixed post and pre increment/decrement operations for
SharedFieldIterator, IndividualFieldIterator and IndividualFieldValueIterator
a. Post inc/dec always return a copy of the iterator with the original
position of this iterator (before the inc/dec)
b. Pre inc/dec return reference to this iterator
2. Added some simple test cases for inc/dec

PS: @droazen will love the fact that one more test function was added to variant_reader_test.cpp