add `Key()` method to the `Handler` concept

For more details see: https://github.com/miloyip/rapidjson/issues/132

This commit tries to minimize the required code changes and forwards the `Handler::Key()` calls to `Handler::String()` wherever possible in order to not break existing code; or at least not code deriving from `BaseReaderHandler` when implementing a custom `Handler`.
based on all the other templated stuff in that file I think you guys are aiming for absolute runtime performance; therefore I chose the template `bool` parameter over the "runtime" `bool` parameter passed as regular argument...