ErrorEstimator backwards compatibility fix

ErrorEstimator no longer requires a Communicator to be provided until
reduce_error() is called.  This isn't *perfect* backwards
compatibility, since user-defined subclasses might still break when
running with non-default communicators, but it's better than the first
version of this refactoring.
Fix atavism

I accidentally failed to delete everything from a previous attempt to refactor this
Remove now-unnecessary #include
Merge pull request #81 from roystgnr/error_estimator_compat

Error estimator compatibility fixes