Issue title: Auto-reuse libraries
 Issue body: With metropolis, contracts are more or less stored by their code hash. This makes it possible to access libraries by their code and thus enable some kind of auto-linking feature.

For this to be really useful, we should perhaps turn off the metadata hash for library code.
 Comments: 
 Comment 0: With Constantinople's `CREATE2` opcode this might become a reality.
{'source': 'GithubIssues', 'repo_name_with_owner': 'ethereum/solidity', 'issue_id': 214980975, 'repo_stars': 19085.0}