internal/meta.h: add some template meta functions

 * Add/RemoveConst
 * IsSame, IsConst, IsMoreConst
 * Enable/DisableIf (including helper macro)
document.h: add GenericMemberIterator

Add dedicated class-based member iterator to prepare the switch to a
(safe) API change to return MemberEnd() from FindMember().

Pointer-based iterator can be kept by defining
RAPIDJSON_NOMEMBERITERATORCLASS. This may be useful for platforms without
a working <iterator> header.
GenericValue::FindMember: return MemberEnd, if member doesn't exist
document.h: move inclusion of template meta functions

In order to activate the suppression of "-Weffc++" warnings in the
template meta function classes (non-virtual destructor), move the
inclusion of the meta-function header `internal/meta.h` after the
suppression pragma.
tutorial.cpp: update for FindMember change

 * use MemberIterator instead of plain pointer
 * check against MemberEnd() instead of NULL
GenericMemberIterator: fixup some formatting and documentation

No functional changes.
Merge pull request #44 from pah/feature/memberiterator

Add explicit MemberIterator, return MemberEnd() from FindMember()