support multiple batches of contracts

* a method can have multiple @url contracts now
* a method can have multiple batches of contracts tested independently