Add the capability to create tagged pointer and classes in bitmanip

Create utilities to make safe tagged pointer and class references in std.bitmanip.
You might want to reword the error message – "pointer alignment" (typo, btw) to my ears definitely means the alignment of the memory holding a pointer. The message might also be triggered for class references, where the term pointer doesn't make a lot of sense to the casual user.