expanded endpoint methods and wrapper objects

  * better endpoint class test coverage and fixture/mocking approach
  * friendly user-agent
  * more sane and scalable fixture mechanism
  * more better test coverage for endpoint classes
Is there a nice way to avoid a double negative here?  Not a huge fan of "unless", but maybe it's good here.