Get the damn unit tests all running and passing, finally.

	If this was a car, it would be Josh Richard's car falling apart down
	146. All the tests are passing though, which is great. This lets us
	know that we have the most valid set of tests we can start out with
	(assuming they were valid when I used this as a homework assignment).
	We also have a good chunk of the code covered.

        Now, the idea is to start fixing bugs while adding useful tests to
	increase test coverage gradually to 100%. In the near future we
	should establish a set of acceptance tests that we need to pass
	before calling this release 'finished.'

	How to actually plan a release:

		  Define what the user should actually expect to accomplish
	          in broad terms, *free* from words like "interface," "API,"
		  or "functions." If the software is written well, you will
		  find that the interfaces just help define the outlines of
		  the interaction across the overall system. They only hold
	          the software together, not define the system as a whole.

		  Remember, the features are there to support the user doing
		  what *they* want to do, with the *least* amount of effort.
		  No one (outside of nerds) actually wants to play with their
		  computers or phones. The vast majority of people see right
		  through them and focus on the world it is giving them;
		  who they are talking to, how they are playing a game, even
		  the code they are writing. No one should actually want to
		  think about anything other than what they want to be thinking
                  about. Anything that distracats the user from their
		  experience, like the operating system and software, pulls
		  them back towards boring reality. The time spent
		  context-switching back to figure out how to do something with
		  the tool or app, no matter how quick, inevitably ends up
		  taking away from the user's drive to do it.

	          Users have families, drive cars, get drunk, lose phones,
		  make mistakes, and most of all, don't care how it works when
		  they want to accomplish something, as long as it's easy and
                  reliable. Your job is to come up with a natural, guiding way
	          to bring them what they want so they enjoy doing it, and want
                  to do it more. Developers and management lose focus and fuck
		  this up all the time, ruining companies and cool projects.

	As we discover more use cases we can set new requirements and go through the same process for another release. And that's how
        I think you make good software!

	modified:   actions.rb
	modified:   mover.rb
	modified:   rbt
		o This has a path you have to set (sorry, this will be fixed soon).
	modified:   rbt.rb
	modified:   tc_all.rb
		o This has a path you have to set (sorry, this will be fixed soon).