Enhancements to 3-node cluster tests

Modified the stopController method to wait until the controller karaf process
has stopped completed via the ps command. This eliminates the arbitrary wait
which can cause sporadic failures if the controller takes too long to shutdown.

Also added a stopAllControllers method that first executes /bin/stop on all
controllers in parallel and then waits for completion. This speeds it up.

Added additional checks in varous test cases, eg use a FOR loop to verify all
the expected entries in the output from a REST GET instead of checking for just
a couple entries.

I also eliminated some test case files and consolidated the steps so that all
the related steps for a particular test are in one test case file. I find this
makes the steps easier to understand/follow without having to go to other files
and figure out which test case files are stand-alone and which  may be related
to other files. This also eliminates redundant setup steps in each test case file.

As part of consolidation, I separated Car and People leader failover tests into
their own separate files. They basically run the same sequence of steps but on
their respective data model/shard. However they're not exactly redundant because
the People tests utilize an RPC.

Change-Id: I8be1d219fa07b2384b4d622db67af1bc4e0bebec
Signed-off-by: Shaleen Saxena <ssaxena@brocade.com>
Merge "Enhancements to 3-node cluster tests"