twee: Convert tabs to spaces

This was already done on "*.py", but the "twee" script doesn't have
a file extension.
twee: Print usage syntax when called without arguments

Previously, it would complain about no source files being specified
and would only print the usage syntax when argument parsing failed.

Also removed superfluous newline from "no source files" message.
twee: Removed adding "lib" dir to system path

There is no directory named "lib" in the Twine source tree.
twee: Force UTF8 output if stdout is redirected

The typical way of using "twee" is to redirect its output to an HTML
file. However, such a redirect will use ASCII encoding unless
overridden by the PYTHONIOENCODING environment variable. Therefore it
would break if the output contains Unicode characters.

To avoid that, check whether we are outputting to a tty or to a file
and in the latter case, explictly encode as UTF8 (with BOM).
Fixed displaying of long titles in PassageFrame
<<choice>> and either() changes

* <<choice>>, <<button>> and <<textinput>> no longer incorrectly convert
Twine operators in the text of the provided link to Javascript
operators.
* either() may now accept a single array as an argument, and will
apply() that array to itself. This allows you to save a bunch of
either() arguments in an array variable, and call either() with it in
many places.
Merge pull request #126 from greyelf/i013_passage_title_fix

PassageFrame title field hides starting characters
Merge pull request #125 from mthuurne/twee_cleanup

Twee cleanup