Tests for Empty/Full ensembles; some cleanup.

Moved duckpunching to test_helpers and added .coveragerc. Small improvements
in volume.py (moved __invert__ for Full/Empty into themselves instead if
statement in Volume).
Merge remote-tracking branch 'upstream/master' into volume_tests

Conflicts:
	code/python/PySRMSTIS/src/tests/testensemble.py
Merge remote-tracking branch 'upstream/master' into volume_tests
I seem to have accidentally added range logic.

That is, more complete logic that handles sets based on ranges. For example,
([0:20] and [10:50]) will return [10:20]. This logic can be used for
LambdaVolumes and for LengthEnsembles. Includes tests, which pass.
Volume test coverage at 70%.

Still need to really test it with the range logic stuff I implemented. I'm
pretty sure a few parts fail (i.e., or statements with no overlap, and sub
statements which should generate such an or.)
Commit as stash while restructuring directory.
Merge remote-tracking branch 'upstream/master' into volume_tests

Conflicts:
	code/python/PySRMSTIS/src/tests/duckpunching.py
	code/python/PySRMSTIS/src/tests/test_helpers.py
	opentis/tests/duckpunching.py
Finished directory restructure.
Merge remote-tracking branch 'upstream/master' into volume_tests
Volume coverage at 90%. Logic updates.

However, I need to do further logic updates to the LambdaVolumePeriodic.
Steps toward periodic volume range logic.
Refactor volume range logic, partial periodicity

Reorganized LambdaVolume's treatment of range logic to reduce loc and to
simplify implementation in subclasses (i.e., LambdaVolumePeriodic). Added
first steps toward handling periodic range logic. Improved tests.

This is mostly a save point; tests pass, but are incomplete.
Drafts for periodic range logic.

Still need the tests to check all of this, and to make sure it gets
correctly used in volume.py.
Merge remote-tracking branch 'upstream/master' into volume_tests

Conflicts:
	opentis/tests/testorderparameter.py
Merge remote-tracking branch 'upstream/master' into volume_tests

Conflicts:
	opentis/tests/testorderparameter.py
Volume coverage back up to 93%.

Includes tests on VolumeFactory, as well as tests for periodic and/or
combinations. Really just need sub and invert.
Full coverage except VoronoiVolume.

Still have a few skipped tests, but I think this is ready to be merged into
master.
VolumeFactory min/max can be scalar as impl. list.

If one of the min or max list passed to VolumeFactory functions is a scalar
and the other is a list, it is assumed that the user intended the scalar to
be extended to a list with that same scalar value for all entries.

This commit also includes more tests and more documentation.
Merge remote-tracking branch 'upstream/master' into volume_tests
Docs. Lots of docs for range_logic.