Update OPENFLOW-1.1+ to differentiate optional and required features

The purpose of this patch is primarily to provide details on which
unimplemented features are optional and which are required as this
may be of interest to those working on OpenFlow 1.1+ coverage.

This patch also:
* Clarifies the text of some entries which seemed difficult to understand
  for the authors of this patch.
* Adds entries for features that were missing from the existing list.
  N.B: It is entirely possible that there are still missing entries.
* Expands some entries into sub-entries where some portions of
  a feature are required and others are optional

Co-authored-by: Joe Stringer <joe@wand.net.nz>
Signed-off-by: Joe Stringer <joe@wand.net.nz>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>