Rewrite ChipFamily and ChipSettings to be more general

New build system allows for an arbitrary number of architectures
to be specified for each module.  Architectures can override definitions
from archs earlier in the list and modules can define overlays for
each architecture.  A chip is just a specific architecture.  This will
allow for more easy expansion to building unit tests on pic24 since
you will be able to add the test architecture on top of all other
architectures that you build for and test each one.
Update PIC24 Build System

- Hide command line by default and print summary message
- Use TargetSettings object to contain all of the build information
- Properly name modules and architectures in a uniform fashion
Python unit tests fror pic24 build system

Uses pyunit and nose for testing.  Current tests:
- build_settings file exists and is valid
- ChipFamily and TargetSettings objects work
Merge branch 'feature-pic24-build' of github.com:timburke/MoMo-Firmware into feature-pic24-build