List: Replaced move cons/op= by a nicer push() overload.

The move move constructor and assignment operator felt like a bad
interface choice. The new push overload is nicer and less error prone.
Lock: Added a tryLock op to the Lock along with guard RAII structs.

The lock ops will also no longer spin on an atomic op which should
make them slightly less bad.
Rcu: New rcu implementation dubbed GlobalRcu.

Uses static TLS to eliminate contention on enter and exit op.