Finish Python 2.6 port of core library. Close #1

Edit setup script, README and documentation to specify Python 2.6
as minimum required Python version.
Major changes to core setup script

The setup.py script of the core library has been widely improved to
use setuptools when available. Changes in summary are:

* Use of setuptools if installed. If not installed, fall back to
  distutils.
* If distutils is available, manually check if all dependencies are
  met. If not, print specific error messages and abort setup
* Change import of release script so that now script can be executed
  correctly without having to import fnss and hence without needing
  to have all dependencies installed.
* Relaxed requirements on NetworkX and Numpy versions
Fix minor bug in GLP topology generator

In GLP topology generator, it could happen (in very rare cases) that
the resulting topology had more nodes than the target. This commit
fixes this defect. It also modifies some variable naming in the
randmodels module.
Reimplement _xml_type function of core library

This commit reimplements the _xml_type function of the util module.
This new implementation is more elegant than the previous one.
Add test cases for Abilene and RocketFuel parsers

This commit adds two test cases for the Abilene and RocketFuel
parsers of the core library.
Parse capacities from Topology zoo topologies (close #4)

This commit also adds the capability to parse link
capacity values from the LinkRawSpeed attribute of Topology zoo
graphs.

The parsing of capacities now works also with multigraphs.

This commit finally clearly documents the behavior of the topology
zoo parser in case a multigraph is parsed.
Optimize od_pairs_from_topology (close #6)

This commit optimize the implementation of the od_pairs_from_topology
function of the core library.

It is possible that the implementation for directed graphs may still
be further optimized but this needs to be tought more.
Update version number and copyright year
Improves TM calculation with sparse origins (close #5)

The identification of OD pairs used to be carried out by running the
Dijkstra algorithms between all pairs of nodes, even if only a small
subset of nodes were selected as origins. Now the Dijkstra algorithm
is calculated only on the selected origins.

Note that if TM generation functions are invoked specifying (not None)
origin_nodes and destination_nodes arguments, there is no control on
the actual connectivity of origins and destination. The user is
responsible for ensuring this. This behavior may be changed in future
but needs to be thought more carefully because the performance
overhead for this operation may be high in very large topologies.

This commit also fixes some problems occurring in the NFUR calculation
due to the transformation of a topology between directed and
undirected which sometimes originated a KeyError when trying to access
specific edges.