Merge pull request #11 from cpacey/appConfigBuilder

Refactor out the common parts of the configBuilders
Adding parameter validation

For name, id, version, and description.  This is to prevent the config
builders from creating configs that will be rejected by the LMS.