fix segfault on portless OFPT_FEATURES_REPLY

The C function handle_features_reply() takes a number of C data items as
input, produces a FeaturesReply Ruby object and delivers it to the
features_reply() method of the Controller class.

Commit 58989d1 extended the function with an extra step picking only
physical ports from the input list of ports and placing these onto a
separate list. However, the new code didn't check if the input list of
ports is NULL, which stands for a valid OFPT_FEATURES_REPLY message with
no port descriptors. The controller running the show-switch-features.rb
script from trema-apps repository would crash with a segfault:

An OpenFlow message is received from remote.
Validating an OpenFlow message ( version = 0x1, type = 0x6, ...
Validation completed ( ret = 0 ).
A features reply message is received from ..., # of phy ports = 0 ).
Calling features reply handler ( ...
.../trema/ruby/trema/dsl/runner.rb:157: [BUG] Segmentation fault
ruby 1.8.7 (2012-10-12 patchlevel 371) [x86_64-linux]

An extra check for NULL in handle_features_reply() resolves the issue.
Fixed comments
Merge pull request #304 from infrastation/develop

fix segfault on portless OFPT_FEATURES_REPLY
add sanity check
avoid collision of Trema::Queue
fixed issues of nightly build
top off OFPPC_* and OFPPS_* constants mapping
Merge pull request #306 from infrastation/develop

another supplement of constants
Add Ubuntu 13.04 and Debian GNU/Linux 7.0 as supported operating system.
Update gem dependencies.
Version bump to 0.3.20
Merge branch 'release0.3.20' into develop
delete unnecessary messages
Merge branch 'develop' of https://github.com/trema/trema into develop