Add the capability to create tagged pointer and classes in bitmanip

Create utilities to make safe tagged pointer and class references in std.bitmanip.
Add some unit tests to ensure the code properly rejects tagged* where you exceed the "free" bits.