Add address_is_contract function
This requires that implementations have a way to determine whether an address belongs to a contract simply from its value (i.e. from the format of the address). This is a reasonable expectation and will also allow contracts to be able to determine whether code will be executed from actions. Finally, it will also simplify some checks.