Refactoring: moving methods that parse topology data from SDNLink to BaseSDNTopologyService
Implements circuit setup scheduling

With this commit, FloodlightSDNConnector setup a reservation
based on nodes' capabilities. This allows us to setup a reservation
starting from nodes inside the network to the edges, preventing
black holes while a circuit is being setup.
Splitting SDNLink class into two (SDNLink and SDNHop)

SDN connections are now represented by two distinct classes, one for inter-device links
(represented by SDNLink objects) and one for intra-device hops (SDNHop). Both inherit
from SDNConnection, which holds common attributes and methods.
Splitting SDNLink class into two (SDNLink and SDNHop) (2/2)

SDN connections are now represented by two distinct classes, one for inter-device links
(represented by SDNLink objects) and one for intra-device hops (SDNHop). Both inherit
from SDNConnection, which holds common attributes and methods.

+ Debug messages
Implements OF Matching and circuit hop differentiation using capabilities

This commit introduces two important changes. The first one is OF matching, which
allows the user to specify what should be sent through the circuit being created using
a comma separated OF match. For example, if the user wants to forward all tcp traffic
to destined to port 21 (FTP) coming from hosts under 10.0.1.0/24 subnet using the
circuit, it can specify it with the following OF match: "tp_dst=21,nw_src=10.0.1.0/24"
The SDNPSS will use this OF match when setting up circuits on OF capable hops.

To use this functionality at the time of this commit, the user has to specify the OF
match in the "Description" field of the reservation. Further development is needed
to add an extra field for OF match specification.

Another important change in this commit is the circuit hop setup differentiation by node
capabilities. This means that SDNPSS now differentiates between hosts that can
match fields in packets from nodes which can't and instantiate forwarding rules
accordingly. Further development is needed to enable a more comprehensive
interpretation of different capability levels.