project_init 2.0.1

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] 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
  - [x] python
  - [x] idris
    - [ ] test
  - [x] julia
    - [ ] test
  - [x] yesod
    - [ ] test
  - [ ] reflex
- [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
- [x] ask user for missing keys