Rename Info.plist template

This is actually how Xcode names these files now. Might as well keep in
sync.
Update build settings for the application target

This is needed to be able to run Swift code
Add the ability to generate Swift projects

This is accomplished by moving the directory structure keys under
template names inside larger `app_target_templates` and
`test_target_templates` keys. By setting the `project_template` setting
in liftoffrc, the user can chose which template to use by default.

You can also pass in the name of a template on the commandline with the
`--template [TEMPLATE NAME]` flag.
Make project structure templates stackable

This lets users override parts of the target template keys, instead of
having to override the whole thing.

For example, this lets users only override the application target groups
for the swift language. It also lets users add their own templates to
their configs so that they can define their own custom templates
Fix Rspec deprecation warnings
Update man pages
Fail if the provided template name is invalid

If the user provides an invalid template name, we don't want to
continue. Instead of proceeding and leaving artifacts, we should fail
early.