Rename the sendfile

Use a more generic name for the sendfile to be received during tests.

During my initial testing I made 3 sendfiles of varying size, and would
move a symbolic link called "100GB.zfs" between them. This was pretty
dumb. I get the size of the sendfile later, and we are even considering
that a user may not completely ingest the file to get the average
speed.
Improve TestConfig.py

Importing this file used to run all the tests immediately. This did not
seem like something an import statement should be doing, so it was moved
into a function.

This led to a re-tab so this commits looks like a nearly full rewrite.
The price we pay to do better.
Move test file functionality into its own function
Move filesystem functionality into its own function
Move permission checks into their own function
First swing at CleanupRuns.py

This script is meant to be run to free up the space used by zfs
performance tests.
Adds get_filesystem_size

This method can be used to get the size of a filesystem in bytes, as an
int.
Adds MonitorThread

This thread will run in the background during zfs performance tests, and
periodically print out information. It could be turned into a bunch of
tuneables:
-print min by min or total average
-print every X seconds
but I am currently hoping I can get it descriptive enough that people
will not need those tuneables.
Adds MonitorThread to SingleReceive

For a bit more verbose output.
Refactor the creation out of the fs check

This way setup_system can be called without checking, for machines where
you know these tests have not been set up before.
Adds __init__.py

Helps to make this project a submodule.
Adds snapshot_filesystem
Adds create_filesystem
Remove sendfile testing from check_all

Some tests are being made that do not use sendfiles, they make their
own. It does not help to check the existence and readability of the test
sendfile for these tests, so this check has been removed from check_all
and placed in scripts that need the check.
Use the %()s syntax

In the default case, the test file will be dependant on the parent
directory. If someone wants to read it from somewhere else, this patch
gives them fewer characters to delete, so thats a plus too.
Adds log directories

Adds them to config.cfg and exposes them through Configs.py. These dirs
will be used to store data about the runs that have occurred.
Use the ZfsApi to create filesystems
Create the logging directory

This directory will contain results from each run, as well as stats
collected along the way.
Adds get_current_txg

A method to get the current transaction group number. I choose to use
zdb since I think it is pretty portable.
A start to the results file

This lays out how the results will be collected, filling out most of
gather_starting_results