Switched command handling to use a Listener instead of CommandExecutor.
This allows for more flexibility in the future. Added a help command and
updated plugin.xml to a properly formatted command.
Implemented 3 different block breaking schemes. The first is 'first' in
which the block being pushed by the piston is broken if there is a full
stack or an unpushable block within 12 blocks. The second mode is 'last'
in which the last block on the stack (the one before an unpushable
block) is broken. This was the previous standard. The third is 'all'
where all blocks in the stack are broken. The same rules apply in which
when there are air pockets the default implementation is used.