begin implementing app manifest package

Incorporates the beginning of the artifact manipulation code. This is to be used both by the preparer when doing installations as well as by the bootstrapper setting up agents for the first time.
you need to allow `-` and `_` in name I think