Ignore uEmacs lock files.

Because why not?
Add command results.

This is a slightly bourgeois solution to the problem of any non-fatal command
error throwing "WHAT 'Bad command or file name'" at the user.

Commands now return an instance of the `CommandResult` class, which can either
be:

* A success: the command worked fine, OKAY *command words* is sent back;
* An invalid request: WHAT *message* is sent instead;
* A failure of an otherwise valid command: FAIL *message* is sent.

This could be refactored to use inheritance (replace conditional with
polymorphism, etc), but frankly I couldn't be bothered to do this and I imagine
people wouldn't appreciate the extra classes.  So enum and message it is, for
now at least.  I will listen to any requests for changes on this front.
Run clang-format on the code so far.

I'm not sure I agree with all of these changes, but CONSISTENCY!!!
Remove fixed @todos.

As @wlcx pointed out, these are now done.
Add rudimentary tests for CommandResult.

These mainly only test the high-level.  The constructor is not directly
exercised, but this shouldn't be much of a problem.
Merge pull request #53 from UniversityRadioYork/mw-command-errors-bis

Command Errors (mk.2)