enforce thisTid was called before calling receive

- Simply calling receive in main as stated by the comment
  makes no sense, as nobody could send a message.
Support degenerate bitfields with fields of length 32 and 64 to match documented constraints.
Add unittests for bugs which seem to have been fixed over time.
Properly scoped and selected the import of std.traits in std.ascii, so that it is only imported for the 2 functions that use it, toLower and toUpper.

There are also a couple of style changes, namely the ordering of values in an anonymous enum, and the use of only 1 indent level within an array declaration. The final change is to mark toLower and toUpper explicitly as @safe pure nothrow, as these are checked in unittests, but a unittest wouldn't tell you what was causing one of the attributes to not be valid for them.
Merge pull request #1556 from dawgfoto/fixMessageBoxInit

enforce thisTid was called before calling receive
Merge pull request #1609 from Orvid/master

Scoped the imports in std.ascii
the enum caused it to allocate needlessly. static immutable avoids that.
Merge pull request #1615 from adamdruppe/md_allocation

the enum caused it to allocate needlessly. static immutable avoids that.
Merge pull request #1613 from Safety0ff/master

Support degenerate bitfields with fields of length 32 and 64