fix RestClient inconvenient design

RestClient's original design excludes StringIO objects in the payload which is unnecessary.
This is due to the fact that RestClient requires payload objects to not only `respond_to?` `read` but also `path`. Addressing #5