Added support for reading multiple throwables

this pair thing feels like it should be private - it isn't in the actual API, only the implementation?