project_init 2.7.18

Initialize projects from a template. Fast.
Documentation
- [x] rewrite readme
- [x] document global templates nicely
- [x] warning if ~/.pi.toml doesn't exist
- [x] read templates from a ~/.pi/ dir?
- [x] define config syntax
- [x] builtin templates should use version control if desired
- [x] use interpolations for actual templates
- [x] be faster than python
- [x] reorder directories so it doesn't panic when it creates them out of order
- [x] benchmarks
  - [x] more besides the vim one
- [x] extra templates
  - [x] vim
  - [x] rust-lib
  - [x] rust-bin
  - [x] nim/shake
  - [x] haskell
    - [ ] .hlint.yaml
      - [ ] should suggest unicode symbols as replacements
    - [ ] cabal.project
      - [ ] ability to initialize/name multiple projects simultaneously
  - [x] python
  - [x] idris
    - [x] test
    - [x] builtin
    - [x] test suite
  - [x] julia
    - [ ] test
    - [x] builtin
    - [ ] test suite
  - [x] yesod
    - [ ] test
  - [x] elm
    - [x] test
    - [x] builtin
  - [ ] Ruby
    - [ ] test
    - [ ] builtin
  - [x] Reco
    - [x] test
    - [ ] command for something more interesting than "test"?
    - [x] builtin
    - [x] test suite
  - [x] miso
    - [x] test
    - [x] builtin
- [x] built-in licenses
  - [x] bsd3
  - [x] mit
  - [x] gnu
  - [x] all rights reserved
- [x] call templates by name?
  - [x] rust
  - [x] plain (license/readme)
  - [x] haskell
  - [x] python
  - [x] vim
- [x] add field for scripts (initialized with +x)
- [x] throw a better error/don't panic when the file to be read doesn't exist
  - [x] warn + use empty otherwise?
  - [x] no superfluous panics when opening file in dir that doesn't exist
  - [x] parse errors + nice display
  - [x] colored crate
- [x] add keys
  - [x] full date 
  - [x] user-defined keys (under [[user]])
    - [ ] user-define arrays
    - [ ] put in README
  - [x] github username
  - [x] set version control globally
  - [x] set preferred license globally
  - [x] ask user for missing keys
- [ ] vim integration would be cool
- [x] ask before overwriting directories
  - [x] --force or -f to overwrite anyways
  - [ ] make the flag local to the subcommands
- [x] ask user for missing keys
- [x] build + release scripts
- [x] tests of some sort
- [ ] sourceloc and bugtracker should depend on user-selected version control?
- [ ] build.rs to install manpages locally?
- [ ] bug w/ vimball.txt
- [ ] nice CI for rust package
- [ ] "scripts" section for templates that should be executable.
- [ ] test "suite" in ion
- [x] update command