Introducing an Improved Pregel API

The initial Pregel API coupled voting to halt with message reception.  In this revised the vertex program receives a `PregelContext` which enables the user to signal whether or not to halt as well as access the current iteration number.