Evalresp fix

`Trace.simulate(seedresp={...})` and `obspy.signal.invsim.seisSim(seedresp={...})` did **NOT** pass the network, station, location and channel codes to evalresp. So if a RESP file contained more than one combination of network, station, location, channel with the correct time span it always chose the first one.

This is a pretty serious bug and we should maybe think about backporting it to the 0.8 release (I did not go through the hassle of the releases branch yet as it would require a lot of manual merging as it is quite deeply integrated...) and sending a mail to the mailing list.

Mostly RESP files are distributed per channel so it worked fine, but when requesting data via the soon-to-be-deprecated IRIS webservices RESP files oftentimes got merged. So it is safe to assume that a fair number of people have unknowingly run into this issue.

I also introduced the mock testing library as discussed in #655.