Rename b to theBlock

I'm renaming this because it's conflicting with a class name.
Disable authentication with empty access key

The access key should be checked whether or not it is null or empty.
Since the room's access key cannot be just whitespace or empty, it's
better to tell the user the specific issue.
Warn user if they cannot load the level

Throw a new accessviolationexception if the user (who is unauthenticated
to the room) tries to load it from it's most recent snapshot. Prevents
people from having to check if they are authenticated first before
loading the room.
Revert "Make room static so that it can be easily accessed"

This reverts commit 777d89e6418fd9e43a0de00e2f240d80469e8cd1.
Code analysis and dll updated
Allow Build.Outgoing access to room map

Allowed the Build.Outgoing class to access the room map so that the
optimizations can be performed. This resolves an error for when Source
wasn't available because it was non-static being accessed from a static
context.
Removing empty object initializer

Until I see why, this really isn't doing anything.
Error unauthorized msg when allowing potions

If you are unauthorized and the user tries to allow potions, a warning
now appears. This helps with debugging as the error would have been that
you didn't connect, which is false.
More general exception

The previous exception concerned not being able to write to shared
memory, which has nothing to do with this.
Prevent room name from being too long or whitespace

Prevent the user from setting the room name to nothing, or being too
long. If the room name is too long it may be rejected by the server; if
it isn't then it would be too long to display.
Do not build blocks if you are unauthorized

Check to see if the bot has access before building. If it doesn't warn
the user and abort current action.