Revert "Use debug level logging during unit tests"

This change made the subunit_log 190 MB on every run (14MB
in the gz version). It also dramatically increases the
memory needed to run unit tests. We need to revert and
come at this problem with fresh eyes to address the problem
at hand without effectively overrunning people's environments.

This reverts commit f9090b0bd796f8c2fdf8d0a23173f3adee71b3df.

Change-Id: Ia1cfc3d874ddf4f8ee2037b487d22f968585854e
(cherry picked from commit f350f24cd2bad0d62a737c0f100e40cdfbbb36f6)
support local debug logging

Add OS_DEBUG as an environmental variable that will let you run
locally with debug logs when trying to debug a particular unit
test. Inspired by similar function in the neutron base tests.

History: I70790aa39c0774726de71e5fa5751c45e7e34ffd was enabled on
March 10th to address 2 issues, make it possible to see DEBUG logs
during test runs, and test that the LOG.debug functions that we happen
to execute as a side effect of unit tests did not have syntax errors
(it's important to note it was not guarunteed coverage for all debug
messages).

The net effect was largely a DDOS on the testing system. This
generated a 190MB subunit_log per test run. It meant on failures in
Nova unit tests now generated such an enormous dump that they became
non indexable in elastic recheck (it overloaded the indexers), so the
bug classification system was blinded to any nova unit test bugs.

It was thus reverted in: Ia1cfc3d874ddf4f8ee2037b487d22f968585854e

This patch solves the first concern, which is developer targetted
testing. It mirrors what is done in Neutron for cross project
consistency. There was a competing approach in requiring OS_LOG_LEVEL
to be set, however it had the same problem as the initial patch,
defaulting to DEBUG means that it's a DOS (at 15k unit tests, that
just can't be the default). Given that Neutron already established
some conventions here, using existing conventions also seems better.

This *does not* address concern #2. That is expected to be done in a
separate patch using an ephemeral string buffer logger. However
getting that correct has proved tricky enough that the approach to the
problem was:

 1. revert - Ia1cfc3d874ddf4f8ee2037b487d22f968585854e
 2. add targeted debug logging (this patch)
 3. add back side effect debug testing - being worked by joe

Change-Id: I04ff2f0650f1e6035d8de5c5802b96ce4294891b
(cherry picked from commit 31169bb26fc0a39486ef6cd6a5a154d570186886)
Use debug level logging in unit tests, but don't save them.

We want to try formatting debug level logs so we can gate on any
formatting errors, but we don't want to save the debug level logs as
there are just too many of them. So use fixtures.FakeLogger running at
INFO level and a custom NUllHandler at DEBUG level.

Not Using fixtures level parameter since that sets the log level for the
entire logger and not just the individual handlers.

Don't inherit from logging.NullHandler since it isn't in python2.6

Change-Id: I7317092c0a2bad8efd11ece3ba521d58c2acae42
(cherry picked from commit 158ac3d6c6ed29b3c3bed1448993d5276b0fe366)