WIP
update swatch to write .ase files in both py2/3

due to my misremembering of how bytes and strings work in python 3,
the previous commit never really worked in python3.x for a variety
of reasons, mostly due to my loosey-goosey handling of string and
bytes. this makes it more consistent.

updates lots of documentation and also documents part of the
writer's internals, even though those are far more obvious and the
code is pretty clear on that front.

adds in two more test cases which the previous versions missed:

1. a swatch file with only one color. this catches two important
issues: the left padded string being written out incorrectly and
the color mode/rgb/etc not matching the keys in the mode index.
2. a swatch with a folder and one color, mostly here so that it
can be tested to see if the folder-writing code is broken in a
small test-case.

the other tests are sort of ridiculous test harnesses since they're
really overkill. maybe i'll change that, but it's nice to have some
test on real legitimate style swatches.