Construct a new instance.

@param {Object} config Configuration.
@param {Contract} config.contract The contract instance.
@param {String} config.address Address on blockchain.
function ContractInstance(config) {
      _classCallCheck(this, ContractInstance);

      this._config = config;
      this._contract = config.contract;
      this._web3 = this._contract._web3;
      this._address = config.address;
      this._inst = this.contract._contract.at(this._address);

      /*
      Logger is same as parent contract one, except that address is prepended 
      to all log output.
       */
      this._logger = {};
      for (var logMethod in DUMMY_LOGGER) {
        this._logger[logMethod] = function (logMethod, self) {
          return function () {
            self.contract.logger[logMethod].apply(self.contract.logger, ['[' + self.address + ']: '].concat(Array.from(arguments)));
          };
        }(logMethod, this);
      }
    }