Add lvalue/rvalue traits

* add `isLvalue`
* add `rvalueOf`/`lvalueOf`
Use `std.traits.{rvalueOf,lvalueOf}` in `std.traits.hasElaborateAssign`.