Improve Git configuration

- More aliases. Even shorthands for faster everyday Git on the command line.  
 All of the previous aliases are kept except the `p` which is now `pl`.  
 `l` has improved.
 Added more documentation and configuration references to aliases.
- Configured `opendiff` as a `diff`.`tool` and `merge.tool`.
- Changed `push.default` to Git 2.0 default value: `simple`.
- Make `diff` use the `patience` algorithm.  
 It is quite useful for diffing code with brackets.
- Some other minor configurations like colors.
- Everything is properly commented and sorted alphabetically.

---

I think I have a slightly better and more extensive Git configuration which could be of help to others.
It is based on your previous `.gitconfig` and other dotfiles repos ([skwp](https://github.com/skwp/dotfiles/blob/master/git/gitconfig)).

Normally I would make multiple pull requests for every change, but this could be a lot of burden for both of us.

I am happy to make any changes and even make it completely backwards compatible with your configuration. Just let me know.