Experimental refactoring of docopt function.
Refactoring: Instead of AnyOptions use options themselves.
Merge branch 'master' into experimental
Refactoring: hasattr instead of isinstance.

Inspired by:
http://www.canonical.org/~kragen/isinstance/
Copy-paste implementation of #30 (count -vvv).
More tests for flag-counting.
Count multiple commands, accumulate multiple options.
Experimental: split Pattern into {Child,Parrent,}Pattern
Refactor ChildPattern.match.
Questionable refactoring of parse_atom.
Lang-agnostic tests for counting/accumulating commands/options.
Fix bug that captured value from pattern.
Added PHP port to readme
Merge remote-tracking branch 'origin/experimental' into experimental
Prepare for 0.5.0 release.
Add example for new 0.5.0 functionality.
Typo in README.md
How git cli subset might look like in docopt.
Add examples of unsupported syntax to think about.
Show help only if pattern matched.

This makes potentially easier to implement subparsers. Previously help
would be shown no matter if the pattern for help option is matched which
means that help option would always triger help for the top-level
parser, not allowing the option to propogate to the sub-parser.