Account failure to the tearDown instead of setUp

In shared server tests when a test case made dirty a server,
the setUp method silently fixed the issue and the fixing time
 accounted to the next test method.

The new tearDown method will raise an exception if the test case
 made the shared server wrong. It also attempts to delete the server
on behalf of the failing test case.

In the past this kind of issues fixed silently by the setUp.

Several addCleanUp converted to normal cleanup operations,
because the methods added by the addCleanUp just runs after the
tearDonw() method.

Change-Id: I38cf8649de9eab2f50bf49b4decc1527e22e29ea
Merge "Account failure to the tearDown instead of setUp"