make request building referentially transparent
rename access to the RequestBuilder to 'underlying' as its more readable and sort of follows the same naming pattern as unfiltered (which models this in a similar way)
Merge branch 'master' into referential-transparency
Provide implicit conversions Req <-> RequestBuilder, with deprecation
warnings.
use implicit classes where possible