.functions: Tweak `targz`

Trim the trailing slash from the path argument passed to `targz`.

This fixes the annoying behavior where `targz foo/` created `foo/.tar.gz` instead of `foo.tar.gz`.

Ref. #202.
.gitconfig: Use `push.default = matching`

I couldn’t get used to `simple`.
.functions: Add `gi`

This is an easy way to install Grunt plugins and add them as `devDependencies` to `package.json`.
Example:

    gi contrib-watch contrib-uglify zopfli

Closes #191.
.functions: Improve `note`

Give the Notes.app function the ability to add both `title` and `body`.

Closes #203.
.functions: Improve `httpcompression` and move it to its own file

Closes #162.
Merge branch 'master' of https://github.com/mathiasbynens/dotfiles

* 'master' of https://github.com/mathiasbynens/dotfiles:
  .functions: Improve `httpcompression` and move it to its own file
  .functions: Improve `note`
  .functions: Add `gi`
  .gitconfig: Use `push.default = matching`
  .functions: Tweak `targz`
move my functions to .extra
.extra: big rewrite of cheat sheets