dpset: add port{add, delete, modify} event for convenience and helper functions

For discovery, it's interested only in datapath/port appearance/disappearance.
With this, discovery app would not have to handle OFP events directly.

Signed-off-by: Isaku Yamahata <yamahata-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
controller/link_set: introduce a class to track link topology

Signed-off-by: Isaku Yamahata <yamahata-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
controller/dispatcher: cork/uncork

When event dispatching, thread can be switched or blocked so that
another events may cut in.
Introduce EventQueue.cork/uncork method to disable/enable event dispatching.

Signed-off-by: Isaku Yamahata <yamahata-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
lib/lldp: lldp parser/serializer

Signed-off-by: Isaku Yamahata <yamahata-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
ryu/controller/controller: add a helper method, is_reserved_port()

Signed-off-by: Isaku Yamahata <yamahata-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
app/wspath: URI parsers and related constants

adds various URI parsers, related constants

Signed-off-by: Isaku Yamahata <yamahata-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
ryu/app/client: factor out rest client code

Signed-off-by: Isaku Yamahata <yamahata-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
ryu/app/client.py: client library for discovery REST API

Signed-off-by: Isaku Yamahata <yamahata-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>