In the PrisonerManager you can now provide either AnyCell or NoCell and
it'll select a cell or not based upon the provided one. This is breaking
because it changes the required types in the methods and the new cells
don't have anything implemented and throw exceptions.
This feature adds a new option to the jail command `-a` which can be
used in place of `-c` if you don't want a specific cell. This option
will jail the player in the first open cell in the jail, thus
eliminating the need to know cell names.
I want to get fully away from blocking methods and instead make the
user/player/prisoner/whatever wait to get an answer while we retrieve
the uuid information asynchronously.
This commit also cleans up the jail command to be quicker as the old way
I was doing it just didn't work nor was it good to go for production.
This method also utilizes the CommandInfo's pattern to match
subcommands, like it was meant to be used for. Completely untested.