Switch Abstraction POC.

- switch user made dynamic and defaults to ${MININET_USER}
- added ssh_key functionality for switches that use ssh for mgmt_protocol
- moved switch classes to a subdir in libraries for tidiness
- made Ovs default and SWITCH_IP == ${MININET} so that no changes
  need to be made to jenkins job

Change-Id: Ie563250ffd0b52c7c038f22fefde49f09ace209b
Signed-off-by: Jamo Luhrsen <james.luhrsen@hp.com>

using @property for dynamic switch class attribute strings

moved some attributes to properties so that the values of the
properties could change dynamically as other class attributes
are changed (e.g. when you get a flow object you need to update
the controller_ip, and because of that a lot of the strings
(for configs, etc) need to be updated in real time)

Change-Id: I82cbafda72927a56b73d2196d9694d426e855b8c
Signed-off-by: Jamo Luhrsen <james.luhrsen@hp.com>

moved generic keywords to new SwitchUtils library

also:
-  ${SWITCH} and ${CONTROLLER_IP} need to be passed as cmdLine
   args regexp will now match verifications, so long strings
   can be condensed in object definition (if desired)

Change-Id: I87c7357c16cf971eb7c4ece0014dbb6228b309a6
Signed-off-by: Jamo Luhrsen <james.luhrsen@hp.com>

renamed file

Change-Id: Ibd114274a1c402cb40b9c3d0ce7cf4530f9b6aa2
Signed-off-by: Jamo Luhrsen <james.luhrsen@hp.com>

OpenFlow validation enhancements

Actions Suite ported to use new switch abstraction.

Change-Id: I2f1f735c73bdfd7a1b3e58a6a8647f8bfeabf586
Signed-off-by: Jamo Luhrsen <james.luhrsen@hp.com>

${switch} object needed for read, write, execute wrappers

Change-Id: I7dce87eca1c3040c65716fc5585b9a2eb724a86b
Signed-off-by: Jamo Luhrsen <james.luhrsen@hp.com>
(cherry picked from commit dcb8f35d4ccd9f764e88b6acd7d059070af0ef04)