WorkflowId and Last Received Event

Adding in the workflowid and the ability to retrieve the last event in the history.

Tests include calling both features on an object with many events, and calling it on an object with no events.
There is already a `getFirst` function and this one can mimick that one. The specific things:

1. Either name this function `getLast` or name the other function `getFirstEvent`. I think I like the second option better since `getFirstEvent` is more specific.
2. Throw an exception if there are no events. With this library I decided to throw exceptions instead of returning null when it is appropriate. If you'd like more detailed reasoning or if you disagree with the decision let me know and we can hash it out.
3. I believe we can rely on AWS to always return the events in the order they occur and thus with ascending order of IDs. So I would be fine with just returning the last item in the array. In the `getFirst` function, we're doing basically the same thing - just returning the first item of the array.