Add Erase(ConstValueIterator) and Erase(ConstValueIterator,ConstValueIterator)

As std::vector::erase() overloads added in C++11
Revert "Add Erase(ConstValueIterator) and Erase(ConstValueIterator,ConstValueIterator)"

This reverts commit 9ab2621e855a9abb8377520b42d6dfddcd49a8e1.
fix typo
GenericValue: document Array iterator functions
GenericValue: improve Erase documentation
GenericValue::Erase: pass ConstValueIterators
GenericValue: use generated assignment/destructor for GenericMember
GenericValue: add Erase function for object members
GenericValue: add tests for Erase(ConstMemberIterator[, ConstMemberIterator])