Allow --port range for random port selection

This way the tracker listens on a new random port each time
herd.py is called.  This allows Herd to be integrated into a
continuous delivery/continuous deployment environment.

With port range socket is tested before port is used.

pep8 cleanup on get_random_open_port function compared to Herd
patch.
Adding Sam Gleske as an author updating gitignore

Updated gitignore so that paths created by setup.py commands are
ignored.