Fix not being able to inherit from DBusMockObject

Don't use super(self.__class__, self).__init__() since this implies that
it will call the __init__() function of our class instead of the base
class. This fails if we have something like this:

class A(DBusMockObject):
    def __init__(self, a):
        DBusMockObject.__init__(self, ...)

In this example, DBusMockObject's __init__() would end up calling A's
__init__(). Not really what we want.
Use dict.get() instead of expecting an exception

dict.get(key) returns None if key is not in the dictionary.
Allow to add property for non-existent interface

If the interface doesn't exist in the dict yet, create it. This allows
to have several interfaces in a single object and set add the properties
for all interfaces.