Use proper clock if possible
Make file_size segment output buffer size
Add support for .startup and .shutdown methods
Add run_once argument which controls whether startup is done
Refactor powerline.lib.url
Replace memoize with threading where applicable

NOTE: Documentation now gets attached to *classes*, not actual segments. Hiding
      away classes (by changing their names to start with `_`) and/or doing

          self.__doc__ = self.__class__.__doc__

      does not work (hiding classes only hides documentation completely). I am
      not familiar with sphinx enough to say how this should be fixed.

Ref #168
Rename classes back to non-_
Make daemon threads, use more fallback variants for monotonic clock
Fix ThreadedSegment.sleep and .set_interval
Remove last reference to `num_intervals`, remove obsolete import
Add OS X implementation of monotonic clock

Taken from
https://bitbucket.org/haypo/misc/commits/164782a76bbff5cca8b856aa0c89b44f8b8a4498a,
thanks to kovidgoyal

Untested
Do not always check for the factor being None
Added missing import
Remove use_info argument
Remove psutil usage for uptime segment

Used method is subject to changes when clock_settime changes time, /proc/uptime
is not.
Some fixes for flake8
Add absolute_import
Compute missing values immediately by default

Reason is the same af for .startup() functions
Do not query .status() and .branch() more times then needed
Add .local.vimrc with configuration for the lint checker

Ref #314