Templated out the bot_mk1 class.

Task @T49 : Started coding the bot_mk1 class. The header is
essentially complete, but none of the new and overridden methods
have been implemented yet. Code compiles but does absolutely
nothing at this time.
Checkpoint on the bot_mk1 development.

Task @T49 : Completed the bot_mk1 constructor. Compiles but is
not unit tested yet.
Checkpoint on the bot_mk1 development.

Task @T49 : Completed almost all the methods for the bot_mk1
implementation. Only the clone method remains.
Completed bot_mk1 implementation.

Task @T49 : This checkin completes the bot_mk1 implementation pending
unit tests. All new and overridden methods are complete and compile
cleanly. Ready for unit test development.
Removed as_str() override from bot_mk1.

Task @T49 : as_str() was mistakenly left in bot_mk1.h. Removed as
there is no current reason to override the default behavior.
Completed bot_mk1 unit test.

Task @T50 : Completed the bot_mk1 class and the unit test to the
requirements for this sprint. Ready for review and merge.
Added bot_mk1 to the sim_engine Makefile

Task @T51 : As usual, I forgot to add bot_mk1 to the build sequence.
Corrected and unit tested.
Altered error messages to include the failing command.

Task @T51 : After review with GJ, we concluded it would be better
if the "bad_cmd", "bad_sys" and "WTF?" messages were postfixed by
the actual command which generated the error. Unit tested and ready
to go.
Merge pull request #16 from fpstovall/bot_class

Bot Mark1 class