OF1.3 branch bug fixes and unit tests

Lots of stuff has changed (for the better). The Web UI is working now and displaying switches correctly. There have been long-time bug fixes in the LinkDiscoveryManager, and many small bug fixes have been made that were introduced during the port to OF1.3. All unit tests are passing now, which is how most of the bugs found were discovered.

The branch is almost ready to be merged with master for a new release, but there are some things left to do:
-- change forwarding's match criteria and switch it back to simply VLANs and MAC addresses (simple). Might be a good idea to add a config file option to enable/disable strict matching in Forwarding.
-- include all possible port numbers (sockets) for different connections in the config file by default. Too many people need to change these too often, and they aren't all specified in the file. We should include them, but simply set as the defaults as they are hard-coded in the code itself.
-- fix a bug where there are discrepancies in the number of links reported in ring topologies (not too important, and this is also a bug in master and 0.90)
-- add OXMs for Nicira tunnel source and destination IPs
-- re-enable all counters that are commented with @Ryan comments (*should* be trivial). They were originally disabled while I figured out how to integrate the new DebugCounterService.
-- finalize the syntax for and document the new REST API paths and StaticFlowPusher syntax
-- double check the firewall with a real-life mininet test outside the unit tests
-- double check that all OFPacketIn.inPort() calls are checked for the OFVersion < OF1.2, else use the Match