adds test case for extending Dihedral type class

Oddly enough, this doesn't work in the sbt console. Presumably, it is
because the type alias `RotFlip` cannot be found. The error in the
console is:

warning: Class scdbpf.DbpfUtil$RotFlip not found - continuing with a stub.
adds monadic map to BufferedEntry

and also makes RawEntry final.
minor update of QFS compression..

by treating bytes as unsigned in hash function. Essentially, this has no
significant effect on compression, except that the internally used hash
function is calculated differently.
synchronizes jsquish calls to avoid race conditions

JSquish does not seem to be thread-safe/side-effect-free. This is a
workaround for the time being.
rewrites DbpfFile write routine to take traversable entries

This allows for passing iterators of entries to the write method so that
it is not necessary to cache all entries in, say, a stream. This has a
much better memory footprint as only the current entry (the one that
gets written) needs to be held in memory, but **previous entries can be
garbage-collected** and successive entries need not be constructed until
needed (the latter was the case before, already).

This also gets rid of hideous bugfix involving views.
adds function to create Preview Effects for puzzle pieces

This is still experimental.
adds common S3D model and Sc4Path operations

Also adds appropriate default values to MatsGroup.
fixes decoding of S3D materials

Materials are now properly represented as an array. Most of the time,
this distinction was not necessary.
updates to version 0.1.5