Add function for formatting experiment durations and ETA

This commit adds a generic function to the util module that takes
as input a quantity of seconds and returns a nicely formatted
string representing the time, i.e. 90 -> 1m 30s.

This function is now used only to log the duration of an experiment
and the ETA for the entire experiment set.

This commit also adds test cases for this function.
Add test data collector

This commit adds a test data collector, to be used by unit test
cases. This collector simply records all events occurring in a
session and stored them in a dictionary which can be accessed by
unit test code.
Add setting allowing users not to save empty plots

This commit adds a variable in the plot module that allows users to
disable the plotting of graphs if they don't contain any data.
Fix bug in NetworkView.content_locations()

This commit fixes a bug in content_locations method of NetworkView
class. This method used to systematically raise an error because of
a misspelt variable.
Fix bug in CL4M strategy

This commit fixes a bug with the CL4M. As a result of this bug, the
strategy always selected to cache a content object in the closest
caching node to the receiver irrespective of its betweenness
centrality.

This bug was present also in 0.1 but did not affect the results of
the ACM SIGCOMM ICN'13 hash-routing paper because the graphs
presented did not include CL4M.
Fix minor issue with HR Hybrid AM strategy

This commit fixes a bug with the HR Hybrid AM strategy that caused
a miscalculation of the path stretch threshold. As a result, the path
stretch treshold used was lower than the one specified.

This bug was introduced in version 0.2.0. It was not present in
version 0.1.x and did not affect the results of the ACM SIGCOMM
ICN'13 hash-routing paper.
Add test cases for caching and routing strategies

This commit adds a set of unit test cases for most of the strategies
implemented.
Update .gitignore to ignore hashrouting-icn13 generated files

This commit updates the .gitignore file to ignore xml files as well
as logs, graphs and topologies generated while executing the code
located in reproduce-results/hashrouting-icn13.
Update README file

This commit updates the README.md file by correcting few typos,
rephrasing unclear sentences and updating references.