Better message for invalid LogLevel

This is a recommit of SHA: 73ed63a987150f5f76999abebb5039e9c1c31c35
Use conditional compile symbol dependent method for Mailbox.Debug

Setting MAILBOXDEBUG when compiling enables debug messages for the mailboxes to be printed to stdout.

Recommit of SHA: 180472286330747e375a340864d0c50248b9a94d
Suppress warning CS0420

It's ok to ignore CS0420 "a reference to a volatile field will not be treated as volatile" for interlocked calls, see http://msdn.microsoft.com/en-us/library/4bw5ewxy(VS.80).aspx

Recommit of SHA: b1104d4173f81fd7a596b983079e8994f80c7f21
Merge pull request #188 from HCanber/recommits

Recommiting deleted stuff

- Better message for invalid LogLevel
- Use conditional compile symbol dependent method for Mailbox.Debug
- Suppress warning CS0420