Reduce number of arguments passed into snippet functions.

The argument list for snippet functions was getting pretty gnarly, so
we're making some changes. Specifically,

- The request and response are now passed into the params object, so you
  can't use those names for params passed in from markup.
- The current element is bound to this so it doesn't need to have its
  own argument.
Update tests for new snippet argument list.
Update README with new new on snippet strcutre.