Adopted CoDel-like control instead of tail drop

Instead of rejecting interests with NACK when the shaper queue is full, use a CoDel-like algorithm to reject earlier and control queueing delay.
Fixed a bug in best-route forwarding strategy

The current implementation tried green faces twice. This is unnecessary and causes problems with the CoDel mechanism.
Fixed the bug that NACKs are also shaped

Added additional checking to make sure that only real interest packets are shaped (NACKs appears like interest packets in ndnSIM).
Added ConsumerWindowCUBIC

Added CUBIC algorithm to consumer window control.
Retooled test cases

Made a few changes to the test cases:
1. Set up topology in the test scripts rather than reading from external files
2. Let test scripts take command line arguments to customize their setup
3. Reduced 7 test scripts down to 2 (one for chain topology and one for dumbbell topology).
Fixed a bug in setting shaper qlen
Added configurable queue mode to the shaper

Users can configure the queue mode of the interest shaper (DropTail/PIE/CoDel). PIE has not been implemented yet.
Implemented PIE in the shaper
Added queue mode to command line arguments

Added queue mode configuration to the command line arguments of the test scripts.
Fixed a few bugs

1. CUBIC: avoid decreasing the window multiple times when multiple interests are NACKed back-to-back.
2. PIT: set the default expiration time to 2s. 1s is too short for the test cases with 500ms RTT.
Refined the test cases

1. Set headroom to 0.97
2. Added background traffic in dumbbell test case
Fixed a bug in CUBIC
Incorporated a bug fix from upstream

Incorporated commit 79b2fb3 from upstream that fixed bug #33.
Issue #25   Replacing usage of TCP RTT estimator with a customized version

In the current commit, RTT estimator does not implement Karn's algorithm
and takes into account all RTT samples, including ambiguous samples from
retransmitted Interests.
Issue #25: fix the logic in SentSeq and AckSeq to capture retx and support random seq
Added ConsumerRate

Added a consumer that adopts rate-based control. This consumer must work in conjunction with our hop-by-hop interest shaper.
Added ConsumerWindowRAAQM

Implemented the RAAQM algorithm according to: Carofiglio et al. "Multipath Congestion Control in Content-Centric Networks", published in NOMEN 2013.

Only single path case is implemented. It seems that the parameters need further tuning.
Retooled the test scenarios

Retooled the test scripts so that both the shaper queue management mode and the consumer type are configurable.
Added fast convergence to ConsumerWindowCUBIC

Added the fast convergence heuristic to ConsumerWindowCUBIC
Added ndn-cc-dumbbell-special

Added a new test scenario with flow arrivals and departures to evaluate the responsiveness of the protocol.