Add completion for zypper pkg manager (openSUSE)

Implemented subcommand completion, global arguments completion
Not implemented yet subcommand arguments completion
Implement subcommand arguments completion for zypper package manager
FAQ: add questions from beta site
FAQ: address local variable/env usage
Squashed commit of the following:

commit bb27562af5333f84b9995b50b59c767eaae12f7c
Author: Terje Larsen <terlar@gmail.com>
Date:   Mon May 20 04:18:09 2013 +0200

    Enhance completions for git rebase

commit e9f69ea4f9deb7a7c9284148591ff2075748ab8c
Author: Terje Larsen <terlar@gmail.com>
Date:   Mon May 20 03:56:51 2013 +0200

    Enhance completions for git merge

commit 75974f9c2468b381069f11f8e1a03e86af1e47d7
Author: Terje Larsen <terlar@gmail.com>
Date:   Mon May 20 03:40:27 2013 +0200

    Enhance completions for git add

commit ec6aeab105f351a6d2184078d84d32bb12df3204
Author: Terje Larsen <terlar@gmail.com>
Date:   Mon May 20 03:16:48 2013 +0200

    Enhance completions for git tag

commit c3a1c17c436a670588a692240a562e2436538498
Author: Terje Larsen <terlar@gmail.com>
Date:   Mon May 20 03:09:13 2013 +0200

    Add git completions for stash

commit 40baae8c75151be753da9efc309287662818d93d
Author: Terje Larsen <terlar@gmail.com>
Date:   Mon May 20 02:54:19 2013 +0200

    Enhance completions for git push

commit 6d9023bb744f80e33481f765d542a17ecf6ccf19
Author: Terje Larsen <terlar@gmail.com>
Date:   Mon May 20 02:32:27 2013 +0200

    Enhance completions for git pull
Added darwin uname completions, fixes #778
Squashed commit of the following:

commit 4a9595845111bcc8d45419241f8f49bc3e8b3445
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:45:58 2013 +0200

    use the new functions

commit 1c934ebbe65a82e92079952b15f31d3a92bc5e8f
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:45:21 2013 +0200

    moves formatting code to the bottom in order to get it out of the way of all the colour handling

commit c62f827143c30f6810026c7e4a3d8b77178cd9a4
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:44:12 2013 +0200

    adds helper returning whether or not there are staged files

commit 624e47cb85a7579bf284a6a7f0c9165dfa38b0ce
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:43:41 2013 +0200

    adds helper returning whether or not the current branch is dirty

commit efc270da7b0998f564a7d2ae4ea3013ed6910e58
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:42:48 2013 +0200

    adds helper returning whether or not a repo is bare

commit 0da668316cedb8e3fa166977be82c917ef67ad86
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:41:55 2013 +0200

    adds helper returning current branch

commit 15cbcedc77199aea1868faee5d178d9547a4d541
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:41:10 2013 +0200

    adds helper returning current operation

commit c3352d3e9e60bf94fd4bf412ad85d62bba4cbff8
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:40:20 2013 +0200

    adds helper returning the git dir

commit f346e52b7814ebf1eed55f006c3bedc8ece38e3b
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Mon May 20 18:52:19 2013 +0200

    use the fish_git_prompt_char_* variables
Slightly modified this theme to match robbyrussel

I recently switch from ZSH to Fish shell and noticed that this theme is slightly different to the one provided by ZSH. I edited my own using funced but thought it might be useful for other people who are used to the ZSH interface.
Fix $LINES = $COLUMNS bug

Fixes #745
command and binding for transpose-chars
Fix issue where transpose fails if there is a trailing autosuggestion
Escape question mark in ack completion

I haven't noticed that because I tested ack in directory with one file.
After @gfxmonk sent issue #797, I have noticed the problem. This patch
fixes #797 by escaping question mark.
Add systemctl completions
Fix typo

Remove extra instance of "builtin commands", shouldn't be there.