Add static_assert for move constructable/assignable for rvalue_cast.
Add static_assert for move constructable/assignable for rvalue_cast.

Add an additional static_assert to rvalue_cast to ensure the given type
is actually move constructable or assignable.

iankronquist/puppetcpp,peterhuene/puppetcpp