Add coveralls coverage reporting

This allows us to report test coverage using coveralls.io

The first commit does all the infrastructure work.  Took me quite some time to get it to actually work, with the bug being cd .. which is needed after our docs build test.

I left the hack to work around --boxed --cov as its own commit as in an ideal world this brokenness wouldn't be a problem.