Add plubming for unlock

We now need to return an Option based on if we're going to actually move
as a result of this action or not. Unsure if this is the right
interface, but it lets me keep going at least.
Pull option up into the functions themselves

this is much nicer to use.
u32 -> uint

the suggested behavior here has changed
Mutation :frown: (unlock doors)

This commit lets you unlock doors. In order to do so, we have to mutate
all the things. This requires some cascading shennanigans.