Adds linux_get_current_txg

This is a really fast way to get the current TXG on linux. I do not
think the other implementations have something like this, so the method
call lets you know its linux specific.

I could not use the generic zdb call for the txg tracker because it
took longer than a second to produce a result.
Adds get_pool_name_for_fs

This is a small function to pull data out of a filesystem path.
A working version of MovingAverage

As the lass comment says, this is meant to provide utility like uptime
where it gives the average of some statistic over different periods of
time. This allows you to see how actions you take now affect the
statistic, while still giving you a long view of things.
Use MovingAverage

This updates MonitorThread to use the MovingAverage class to print out
better stats for the tracked filesystem
Adds a movingaverage for transaction groups

This second moving average keeps track of the TXGs per second, a metric
that I want to start tracking.
Stop passing the log file handle

The log function was supposed to make users life easier, but constantly
passing the log file handle did not seem to reach this goal. Using a
class wide variable instead.
Add two more stats the pre-log

Collect two kinds of ways to look at the status of the zpools. Note
that this does capture information about more pools than just the ones
under investigation, but that seems reasonable.
Refactor stat writing to print_stats_to_file

Since the pre and post stats are the same,place them in their own
method, call it from both pre and post.
Handle the case where the FS does not exist

Sometimes at the start or end of a run, at the time when you would want
to gather statistics, the filesystem in question does not exist. In
these cases it is safe to say that the size of the filesystem is 0.
Adds results gathering to SingleReceive

Use the new Results class to gather stats about the receive process.
Remove debug print out
Update the class comment

Things have changed a bit, this keeps the comment in line with the
contents
Adds zpool_exists

A small check to see if a zpool by that name exists
Adds check_pool_exists

One of the most important things people can change in the config is the
main pool name, since most places have different naming conventions for
pools.
A simple ReceiveThread
Fix static name

Thats an oops
Inital version of MultiReceive

This script will be the multithreaded version of the zfs receive test
Use the multiprocessing module

This makes the multithreading a little more clear
Use argparse for the output

We can have the -v flag determine if we want output on TXG and speed
status.
Get number of threads from the user

This allows the user to specify how many threads they want going at
once. Min of 1, max of 32