improvements to bcmd and executable filtering for be-go

Previously, bcmd couldn't really handle checking for remaining args, even though unknowns are not allowed.
The code was ugly, and didn't really work. Now it does, even so for chained subcommands.

be-go can now filter executables, the same way ProcessController can
Fixed testcase and improved (simplified) be-go command parsing.

It's also easy to read now, I think
Added Peter Norvig's spelling correction code ! Thanks so much !

http://norvig.com/spell-correct.html