Move files into util dir
Use sandboxed sinon and chai for testing
Extract state machine into separate module

Add test coverage in the process
Merge branch 'master' into amdy
Build scripts before others in AMD mode
Config.isTopLevel module helper
Execute build top level modules first in AMD mode

Allows for child views to have dependencies on the top level views and
avoid including unnecessary files multiple times.