to facilitate higher reuse, remove guava dep

Based on discussions, it seems guava is not a good candidate as a dependency for highly reusable software.  While switching off guava adds ~200 lines of code, it removes risk of version conflicts systemic to the guava ecosystem.

This is the first change to facilitate zero deps feign.

cc @allenxwang @benjchristensen