Added GenericValue::Swap()

This will probably not work when swapping a `Document` with a `Value`, see http://code.google.com/p/rapidjson/issues/detail?id=11 and 0a56e649.  Using a `RawAssign` should be safe. Can you add a test for swapping a `Document` with a `Value`?