detect script directory to make bash and zsh usable without having `powerline` in `$PATH`
Add visual_range segment

Returns a value similar to `showcmd`.

TODO: Make proper test case.
Merge branch 'feature/visual-range-segment' into develop
Don't let the vcs detection cross mount point boundaries
Fixes issue 625
Fix UnicodeDecodeError when dir_limit_depth and dir_shorten_len are set
Fix handling of segment include_modes

Segments should only be included if rules for both inclusion and
exclusion are satisfied, satisfying one or the other is not sufficient.

If the include_modes list for a segment is missing or empty consider all
modes to be included so that users do not need to supply an exhaustive
list, since there isn't much point in actually wanting an empty include
list.  Actually check for mode name in the list rather than mistakenly
checking for the segment object.
Handle gitfiles when retrieving branch name

Move code to parse a .git file from the do_status method to a new method
shared with get_branch_name so that branch name can be retreived from
repositories which use a .git file.

Closes #634.
More informative error message. Fixes #638
Make author name ASCII
Merge branch 'fix-setup-unicode-error' into develop
Merge remote-tracking branch 'aschrab/include_modes' into develop
Merge remote-tracking branch 'kovidgoyal/fix-638' into develop
Merge remote-tracking branch 'dbrodie/unicode_path_fix' into develop
Merge remote-tracking branch 'dbrodie/fix_625' into develop
Fix #621
Merge branch 'fix-621' into develop
Create shared namespaces for powerline.{matchers,segments}.plugin
Add NERDTree statusline
Add Control-P statuslines

This hacks around the way CtrlP handles statuslines. Powerline will
always override the statusline, but CtrlP doesn't make its details
available as buffer variables so separate functions assign the details
to buffer variables each statusline redraw.

Currently this statusline only uses a couple of highlight groups,
colorschemes should add the HL groups to make this prettier.
Option to suppress error in python-less vim

If the g:powerline_no_python_error variable is set don't issue an error
message even if vim doesn't have the required Python support.  This
allows a common set of configuration files to be used across systems
where some of the copies of vim don't meet the requirements.