Make requestBuilder a pure function

There's no need for IO, so make the function which runs a
RequestBuilder action a pure one.

This is a breaking change, unfortunately, but addresses the driving
concern in #9 and #48.