Support /ports endpoint introduced in the API

This patch adds the support for "/ports" endpoint introduced by the
MidoNet API.

Signed-off-by: Taku Fukushima <tfukushima@midokura.com>
@ryu25ish It's not difficult but to make the general port flexible I made some attributes optional. Some of them are required depending on the context to which device a port belongs. These `option` flags are used for the validations and completions. So if we share the same port model, it would be inconvenient for users.

I also tried to inherit multiple classes, i.e., `RouterPort` and `BridgePort`, the constraints of the required attributes didn't allow to list the different type of the ports.