Add merge conflict seperator faces in diff view.
Allowing to select the remote and the branch pulling from.

This is a first stab at fixing issue #435.
Fixed a few typos.
Pass through git's log colorization using ansi-color-apply to translate into text properties
Add ERT as git submodule
Add mocker.el as git submodule
Add tests/run-test.el
Use tests/run-test.el from Makefile
Add .travis.yml
Removed an unused `format`.
Placed the options in the right place for `pull`.

Copying the code from `magit-push` was not possible because `magit-pull` is less flexible with its options.
For `magit-push` the options can be passed after the `repository` and the `refspec`.
However, at least for `--rebase`, `magit-pull` does not accept this format.
Removes some commented code.
Adds a dependency.
Uses the usual completion mechanism of magit for gitignore.
Cleans up the ignore code containing redundant code and doc.
Use a default value when asking for a file to ignore
Put the submodule command back on a key.
Updated the documentation to reflect the new submobule key.
Run magit-refresh-status-hook outside the macro creating the section

Otherwise, any section related function used in the hook will failed.
Pressing "M" shows "Branch manager" instead of "Remote manager"

Even though the branch manager is actually displayed, it always
confused me that "Branch manager" is shown when I asked for the
"Remote manager".

Signed-off-by: Damien Cassou <damien.cassou@gmail.com>