Model-averaged estimation

This feature branch starts, but does not yet finish, implementing [model-averaged estimation](http://iopscience.iop.org/1367-2630/16/9/093035/) by refactoring ``SMCUpdater`` into a subclass of a new ``Updater`` abstract class.