Modify submapping behavior to avoid concatenation

Allow name_prefixes to concatenate in submapper nesting. Also fix the
case where the concatenation behavior was being applied to all
non-dictionary arguments in the submapper. This had the effect of
concat'ing args like controller definition together rather than allowing
submapper definitions to override parent definitions for arguments.
Adding a gitignore file to the project
Fix mapper so that collection_name can be None.

For collections with no collection_name, adds a logic branch to handle
the case cleanly and provide a reasonable path_prefix.
Refactor submappers support.