Add IOPlugin

I personally don't dislike the idea of making it more generic by using queries, but I had a look on some of the plugin implementations we have and they would require a few changes. Also, as Raphael says, given the usage flexibility that the URIs add, the client implementations need to be very robust. If we decide to make it that way then we need to find a solid solution, imo.