use require_relative for project includes
refactor trema-switch command
add ruby features reply handler
fix switch will forget the default link speed for unknown

For network devices those failed to retrieve the link status
will have a default value of 100Mbps FD TP at the first scan.
But during the next scan by monitor update, the default value
will be lost.

Signed-off-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
allow trema-switch to start without any ports option
remove ports default option value
fix crash when invalid group id accessing group stats
return error on invalid port no in port stats
rework statistics to comply with specification
Raise if the argument of Hellow.new() is not a Number.
::Hello -> Trema::Hello
add a default value for version in hello message
Merge branch 'master' of https://github.com/trema/trema-edge
fix write_pid called after daemonize call

To control daemonized process, we must call write_pid
after the daemonize() call.

Signed-off-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
fix init_log() called before error() call

log handler expects init_log() has been processed,
without initialization, the call results in abort.

Signed-off-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
add ofp_version constant value
add setting of default attributes in object properties
fix problem introduced by setting default attributes
define messages under the Trema module
define instructions under Trema module