Add tests for caching framework
Add comments and docstrings to tests
Add test for optional/default arguments
Adds some tests for multiple-argument functions in argcache.

Two of them are skipped, per issue #866, which is known, so I don't want
to make our tests fail until it is fixed.  If and when that issue is
fixed, the @unittest.skip decorators should be removed.
Merge pull request #838 from learning-unlimited/argcache-tests

Add tests for caching framework (WIP)