title: Brownie classmethod Contract.from_abi() creates Namespace error for info() function
body: <p>I have existing external contract what I would like to load with:<br />
  <code>contract = Contract.from_abi(contract_name, address, abi_json)</code></p>
  <p>Contract info() function creates Namespace collision with brownie.network.contract class. If I try to execute contract.info() then it returns &quot;None&quot; but it should have had returned string text with value &quot;You will find what you need in info1().&quot;. Other functions for contract work fine. Is there a way to get rid of Namespace error and execute contract.info()?</p>
  <p>Link to Brownie Contract.from_abi() doc: <a href="https://eth-brownie.readthedocs.io/en/stable/api-network.html?highlight=from_abi#Contract.from_abi" rel="nofollow noreferrer">https://eth-brownie.readthedocs.io/en/stable/api-network.html?highlight=from_abi#Contract.from_abi</a></p>
  <p>Below is error message from terminal:</p>
  <pre><code>/home/peteris/.local/pipx/venvs/eth-brownie/lib/python3.8/site-packages/brownie/network/contract.py:794: 
  BrownieEnvironmentWarning: Namespace collision between contract function and brownie `Contract` class member: 'Instance.info'
  The info function will not be available when interacting with Instance
    warnings.warn(
  </code></pre>