Merge upstream

Brings in the latest changes from [upstream expecta](https://github.com/specta/expecta).

After merging, I ran into some `EXC_BAD_ACCESS` exceptions when running tests. 35540a609e5f316433fa06fba9842712caaaee1a seems to fix it, so I'll submit that upstream as well.