Unit test reorganization

Move pure unit tests which can be run locally into test/unit. Move "functional" tests
which require root/devenv into test/functional.

Add two new Rake tasks for test executions:
  - unit_test: runs all test/unit tests
  - func_test: runs all test/functional tests
  - test: runs both unit_test and func_test

This establishes a hard line between tests which a developer can run and rely upon
for local development testing and those which are useful only when executed on a
devevelopment instance.
Merge pull request #16 from ironcladlou/cart-refactor

Unit test reorganization