checkpointing. Experiment with free monads.

Created a free-monad version of the API that abstracts away
the mechanics of downloading a URL. This interface could
be extended to include form submissions and other things.
Extra example and interpreter code from htmlapi
check point.  removal of old implementation details.