Initial C++11 move support

As discussed in  8005b55 and #123, C++11 move support based on rvalue-references would be useful.

This pull-request provides an initial implementation, although restricted to `GenericValue` only.  I had a quick look and adding move support to the other classes might not be worth the effort for now.

I looked up minimum versions and detection mechanisms for Clang, GCC and MSVC.  Users can set `RAPIDJSON_HAS_CXX_*` to override the automatic detection of the required features.

On a side path, I switched `RAPIDJSON_HAS_STDSTRING` to a symbol that is always available (and either `0` or `1`), defaulting to `0`.

There's just the remaining question, whether we want to switch on C++11 mode on travis-ci.org, maybe just for some configurations.
Why? Even the lvalue-overload will move `n` to the destination. Even if not, for a string value constructed from a `StringRefType`, a move would be the same as a copy.