Improve battery support:

- Use dbus+UPower if available (code taken from kovidgoyal@7f73453 and
  refactored).
- Use any battery from /sys/class/power_supply: replace hardcoded BAT0/BAT1 with
  cycle.
- Use pmset.
- Use win32com.client with Win32_Battery object (code taken from an [SO
  question][1] and refactored).
- Use ctypes + GetSystemPowerStatus (from [the same question][1]).

Completely untested (only know that syntax is correct), will probably have to
hear replies from users to merge.

[1]: http://stackoverflow.com/a/21083571/273566

Closes #677.
Fixes #820.
Only check that all colorschemes have theme, but not the opposite
Implement theme hierarchy

Fixes #783
Move all unicode characters from themes to powerline.json
Make now_playing segment accept state symbols from arguments
Implement single-level merging of “args” dictionaries
Copy a number of unicode values to powerline.json
Allow checking NowPlayingSegment
Fix weather segment display

Most likely a change on GitHub/Yahoo servers made it crash, when
non-robot ready result page started to appear inside YQL processor.
Using "raw.githubusercontent.com" URL helps and weather icon is again visible.

Closes: Lokaltog/powerline#949

Signed-off-by: Aleksandrs Ļedovskis <aleksandrs@ledovskis.lv>
Use more precise error messages in test_tabline.vim
Merge pull request #959 from aledovsky/bug/weather_segment_fix

Fix weather segment display
Add ASCII-only theme
Use ascii theme in local overrides
Add unicode-only theme
Add unicode_terminus top-level theme

This one contains only glyphs present in terminus font.
Add unicode_terminus_condensed theme
Add description of shipped themes to documentation
Fix labels in configuration/reference.rst
Refactor powerline.lint.inspect: do not special-case *ThreadedSegment

Fixes now_playing segment handling in python-3.4
Merge pull request #958 from ZyX-I/theme-hierarchy

Implement theme hierarchy