Field clobbering is removed on 2 levels:
* The field itself is renamed to '_domain', according to conventions for
internal field naming.
* The events.usingDomains is checked so that programs that dont use 'domains'
module are not affected even if they use '_domain' field.
EventEmitter assumes that anything with a .domain property is an instance of a
Domain.Domain. This clobbers any EventEmitter instances/inheriters that make
use of the fairly generalized property name. Change is backwards compatible
with existing interface. New test included.