This test is designed to verify that an ONOS cluster behaves correctly when
ONOS nodes die due to power failures. Currently, we will kill nodes so that
each raft partition will lose a member, but we make sure that there is always
a majority of nodes available in each partition.

As written, the test only supports an ONOS cluster of 3,5, or 7 nodes.
This is because the test doesn't apply to a single node cluster, ONOS clusters
should be deployed in odd numbers, and the partition generation and node
killing scheme used doesn't give the same properties for clusters of more
than 7 nodes. Namely, each partition won't have exactly one node killed.

The gerneral structure for the test:
- Startup
- Assign switches
- Verify ONOS state and functionality
    - Device mastership
    - Intents
    - Leadership election
    - Distributed Primitives
- Kill some ONOS nodes
- Verify ONOS state and functionality
- Restart ONOS nodes
- Verify ONOS state and functionality
- Dataplane failures
    - link down and up
    - switch down and up
