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.
No worries, thanks for the review. :-)

Wrt the growth factor (also applies to the "object capacity", see `AddMember`), it may be best to open a separate issue for the discussion.  I tend to agree that a factor of 2 is a bad choice.  We could do something like:
````cpp
o.capacity += (o.capacity >> 1); // * 1.5
````
and
````cpp
Reserve(data_.a.capacity == 0 ? kDefaultArrayCapacity : data_.a.capacity + (data_.a.capacity >> 1), allocator);
````