Merge branch 'release-0.9.1' into develop
Updates README
Fixes typo in README
Initial commit with basic TCP reno

TCP slowstart/congestion avoidance phases
duplicate acknowledgement detection
Updates conf for Read the Docs

Added some code to make mock modules when importing the docs into Read
the Docs
Updates mock modules in conf.py
Updates conf.py
Updates Dialog abstract base class

This should fix the metaclass TypeError in the Read the Docs build
Removes Dialog metaclass

Dialog is no longer an abstract base class.  However, it should still
not be used directly; subclasses still need to override the body,
validate, and apply methods
Adds Transport class, updates cost methods

I created the Transport class to expose link cost methods to the process
that a Transport handler is connected to.  I moved some code from
LinkResource into Link, as was appropriate.
Updates cost interface, documentation

Static & dynamic cost were only separated because the original project
spec wanted us to complete static routing as an intermediate step
towards dynamic routing (which we skipped).  I've combined them into a
single cost method, and updated some of the related documentation.  Cost
is now calculated as propagation delay * data packet size * (1 + buffer
fill) / log(available capacity).  This is a dynamic cost, but is
equivalent what would have been static cost when traffic & buffer fill
are zero.
Minor bugfix

Fixes intersphinx link in Transport.send documentation
Implemented Go-Back-N

Implemented Go-Back-N in Host resources to send back acknowledgement ids
with the id of the packet they expect next. It is commented out right
now in resources. The Reno code gave some errors at runtime.
Initial FAST TCP implementation

I haven't tested anything, but this commit contains the basic
implementation of FAST TCP.  I also added some TODO's to the network &
gui modules, as they will need to be modified to fully support TCP
Next expected ID's stored as min heap

When a data packet is received, HostResource used to just send back an
ACK whose next expected ID was simply the packet's ID + 1.  Now, the
expected ID's for each source flow are kept in a min heap
Removes packet generation code from Flow class

The packet generation code in Flow was meant for validation of the host
& link code (i.e., test case 0); now that we're implementing TCP, it
should be the responsibility of the TCP algorithm (class) to
generate/send packets
Adds inline comments, minor upgrades

I commented the TCP class, now that the structure is mostly final.  I
also made some minor upgrades to the TCP code & the expected ID min
heaps to handle edge cases & proper termination.  Fixed some typos &
renamed _env attributes to env (they should be publicly exposed)
Adds docstrings for FAST class
Fixes FAST runtime errors

Now that enough of FAST TCP was implemented to test, I ran some
simulations, and fixed all of the errors that I was getting.  I have yet
to investigate whether or not it behaves as expected, but more complex
test cases should be coming soon.
Adds FAST support to gui, network modules

The gui.FlowDialog now takes and correctly processes TCP parameters for
flows.  Likewise, the network module now initializes Flow's properly
again.  I also updated test.ZERO to use FAST TCP, and process.Flow's
docstring.