Can we bind temporary to lvalue reference?
Clang compilation fails when such input:
```
msgpack::object obj;
string& value(obj.as<string>());
```
error: non-const lvalue reference to type 'basic_string<[...], char_traits<_CharT>, allocator<_CharT>>' cannot bind to a temporary of type 'basic_string