feature (init): support local app templates

- Add a default application template.
- Add --template option to `devkit init` command for selecting a
custom local folder to use as the application template. This will
copy everything in the template folder into the new application
folder.
feature (init): add support for git templates

`devkit init --template` can now use a url to a git repository, which
will be shallow cloned into the new application directory. Currently, if
anything goes wrong during the clone (no connection, invalid
permissions, cant find repo, etc) it falls back to the default local
template.
chore (gitClient): add slightly better error text

On error, the git client would print err.code, but that wasn't always
available, so the error line would show (<- done undefined). This has
been replaced with 'failed' and the err content itself if err.code is
falsy.
refactor (app): rename default deps to required

- Rename default dependencies to required dependencies to more
accurately reflect how they are used.
- Add some comments.
feature (init): add default app template submodule
feature (init): skip .git file in app templates
docs (init): add extra detail to --template param
chore (simulator): remove edit cog on app details
fix (overview): add check for app select params

Add check for expected parameters in the event delegate for appList.
Prior to commit b7c120e65253e902dd7dcc585cf33c9fb77300a1, the on.appList
call was given a target ('appList') and the selected app path. The b7c120e
squill commit removes the initial target parameter - add support for
either format.
feature (simulator): fix and improve ip reload

- Fix the ip reload functionality (click input does nothing) by changing
the text to a squill button and forcing a div as the tag to retain the
previous look.
- Add a visual change when reloading the ip, which is entirely
cosmetic, to show the user that something is happening.
- Prevent multiple clicks while the fake reloading time is active.
chore (simulator): clean up unused code
chore (simulator): stop icon not found errors

Catch file not found errors in simulator /icon requests.

Devkit falls back to a hardcoded resources/images/defaultIcon.png file
if no icon is specified in the manifest, which prints ENOENT errors when
serving devkit for every project that doesn't have an icon set and
doesn't have a matching default.

A more complete solution would be to refactor all the paths to the
default icon and add an additional fallback default in devkit if a
default is desired.
fix (init): prevent showing '<- done' if '<- failed'
fix (init): fix path support, add tempate types

- Add error messages for invalid init parameters
- Replace --template with --local-template and --git-template to be
explicit about what the user is expecting
- Add support for relative local template paths
fix (init): allow 1 letter app names
chore (comments): correct comment for refresh ip
docs (init): clarify template params for init
Merge pull request #5 from gameclosure/feature-application-templates

Feature application templates
Merge pull request #6 from gameclosure/feature-simulator-overview-cleanup

Feature simulator overview cleanup
chore (squill): update squill package.json to commit