GenericValue: improve operator[] disambiguation

In the original disambiguation fix for `GenericValue::operator[]` (#170), the documentation has been missing, which led to quite badly rendered [Doxygen pages](http://miloyip.github.io/rapidjson/classrapidjson_1_1_generic_value.html).

During a cleanup, I've realized that a much simpler disambiguation is possible:

````cpp
  GenericValue& operator[](SizeType idx); // array
  template <typename T>
  GenericValue& operator[](T* name);      // object
````

This approach works, as non-template functions are preferred over template functions.
In order to improve the error messages, the pointer type is restricted to `(const) Ch`.

Update `tutorial.md` to drop the ambiguity warning.