Bug: 848604 better app directory abstraction

This patch allows you to define the apps being pushed to the device via a configuration file. 

Also makes sure all build activities happen in a _mkapps/ directory. 

Currently this works for internal / external apps.  External apps can be hosted remotely, or hosted locally by providing a directory.