1. Refactored SmartDashboard to use #defined keys so that the compiler will enforce that
   we use pre-defined SmartDashboard values and to prevent our accidentally creating multiple
   keys due to simple misspellings.
2. Replaced or deleted cout debug output.
3. Refactored DebugPrint() api so it works. Also added 4 new SmartDashboard values which
   reflect the 4 most recent DebugPrint messages. All DebugPrint messages also go to
   stdout which leaves them in the NetConsole.
4. Put @todo comments around orphaned, commented code which needs to be deleted or replaced
   with DebuPrint() or otherwise made effective code.
5. Re-factored braces in the code to make it readable.
6. Added a handful of DebugPrint() messages indicating fundamental class method operations
   but not so many that they flood the user.