Check valid app name before creating application
Check valid app name before creating application

Prior to this you could generate projects with a name such as
"test-this" or "24pullrequests" which would create illegal Elixir
module names.

The code for this is borrowed from [Pheonix
Framework](https://github.com/phoenixframework/phoenix/blob/f2e02d97ef79f825f6bbbdc2d7b69a1d005bff90/installer/lib/phoenix_new.ex#L402-L415)

kittoframework/kitto,kittoframework/kitto