Separate code from data and other stuff

Rationale:

- To be able to exclude "other stuff" when searching in all files for code
    - Exclusion by file type is not enough if there are many non-R files -- they are looked at anyway (at least by RStudio), and this slows down the search
- I find myself constantly switching between `lib` and `src`, sometimes `munge`. As it is now, there is a lot of "other stuff" between these precious folders. Having them closer together would simplify things.

Candidates: `lib`, `munge`, `src`. Did I miss anything?

Requires ~~#84~~ #90.

- [x] Internal: Store files in tar archives also verbatim, to track changes
- [x] Script to create TAR archives (and also closes #91)
- [x] Change structure internally
- [x] Migration code (including version bump)
- [x] Closes #89
- [ ] Double-check website, e.g. there is a screenshot that shows the old folder structure

This is just screaming to be extracted!

Actually, one thing that we need to think about is how to bootstrap up from really old ProjectTemplate structures. I can just imagine this becoming a bit of spaghetti with checks for `config$version` and the current `ProjectTemplate` version. 

One thought is to make a function `next.version`

`next.version` takes `config$version` and returns the function for migrating up to the next version. If there is no next version, it returns NULL. The function for migrating returns the version that it has migrated up to.

Pseudo code:

```
current.version <- config$version
while (!is.null(migrate.version <- next.version(current.version)) {
  current.version <- next.version()
}
```