sbon.py, write_varlen_number: abort after 4096 number pieces

Work-around for infinite loop on negative numbers.
I'm sorry I have too little understanding to really fix it.
SBON number conversion utility script
exports.py: write warnings to stderr, not stdout (which might be muted)
Merge pull request #20 from mk-pmb/warn_on_stderr

exports.py: write warnings to stderr, not stdout (which might be muted)
repair: Support Python 3
repair: Try to fix some corner cases
Fix write_varlen_number for Python 3
repair: More Python 3 fixes
BREAKING CHANGE: Take streams instead of paths

The constructors of all classes now take a stream (such as an open file
or a buffer) instead of a path. There is a new class method "open" on
the classes which will allow opening a path.
Also export FailedWorld
Merge @mk-pmb's changes into latest master

I updated the changes to fit the rest of the code style in this project.

Conflicts:
	starbound/helpers.py
Update #18 to latest master

Conflicts:
	starbound/sbon.py
export.py: extract files as binary (might fix #12)
Expose read_stream
Expose all classes in helpers
YAML converter: Easy stuff works

* [x] read Starbound files
* [x] read YAML from file or stdin
* [x] write YAML to file or stdout
* [ ] write Starbound files
yamlconv --dive --keys --filter --omit