USBSerial: Add const annotations to writeBlock's buffer

This silences a warning. Unless the hardware is doing writes, this
should be correct.
BaseSolution: Needed a virtual destructor
Laser: Fix up whitespace
Stepper: minimum_steps_per_minute should be unsigned

Silences warning
Laser: Add virtual destructor

This is to resolve the warning,

    modules/tools/laser/Laser.cpp:21:29: warning: deleting object of
    polymorphic class type 'Laser' which has non-virtual destructor might
    cause undefined behaviour [-Wdelete-non-virtual-dtor]

Caused by the `delete this;` used to destroy the object if it's
unneeded.

Unfortunately, this a bit of a large hammer for the issue. While it's
unlikely that Laser will ever be inherited from, I can't seem to
convince the compiler that this is the case. We could disable this
warning outright, but this sort of thing one often wants to be warned of
(e.g. in the case of the BaseSolution warning fixed in
24ceac7a79d322b48d325e9362434fb295be1d21).

All things considered, the cost of adding a vtable to Laser seems worth
the piece of mind solving this warning brings.
CurrentControl: Fix whitespace
CurrentControl: Add virtual destructor

See commit message of eeef2894e7e7e7708c10582210a7b8e12f027826 for
rationale.
Merge pull request #147 from bgamari/fixes

Fix various warnings