Fix the scope to share a server between tests

In test_server_actions.py, one server is created in setUpClass()
and the server would be shared between all tests.
If the server status is not 'ACTIVE' before each test, rebuild_
server() deletes it and rebuilds a server again.

The server_id scope which is passed to rebuild_server() is class
variable not instance variable. In addition, the server_id scope
which is stored with the return value of rebuild_server() is
instance variable like the following:

  [[instance]]                         [[class]]
  self.server_id = self.rebuild_server(self.server_id)

If we need to rebuild a server, the server_id, which is passed to
rebuild_server(), cannot be changed due to its scope. As the result,
many server creations happens in each test.
Then it causes "Quota exceeded" exception.

This patch fixes the scope of server_id for sharing the same server
between each tests.

Change-Id: I72b4aa73a6c77cce3a8e777d4f78913fb0986f66
Closes-Bug: #1257641
Merge "Fix the scope to share a server between tests"
Rename create_test_server to create_temp_server

Change https://review.openstack.org/#/c/58645/ introduced bug 1247161 when
running under nose as the method name includes "test".
Renamed to not use test and updated HACKING to give advice against using
"test" in a method name.

Closes-bug: 1247161

Change-Id: I9f6d7d5fc9b3b94e1fbf395a62177c8df7e9f5b4