added function to return IO (Either String Reference) from String reference ID

I was having a bit of grief with the library, trying to get a value of type `Either String Reference` from the function `resolveEither`. I've added such a function, which returns a value of type ` IO (Either String Reference)`.

For more information on my rationale, see my question on stackoverflow: https://stackoverflow.com/questions/26110628/using-returned-eithert-in-haskell-program

I hope this falls within the purpose of the library. If there are any tests etc that need to be written/updated let me know.