32 enumerate results using block

This changes the behaviour of CDTQResultSet. Instead of returning results using a for-in loop, it uses the `-enumerateXUsingBlock` pattern.

Amongst other things this should make results easier to consume in Swift.

This doesn't yet move skip and limit to the enumeration loop, for ease of review.

The test changes are trivial, but it might bear checking one or two of them.

Associated issue: #32.
That's a reasonable point. I adopted this convention after seeing it used somewhere, I'll try to work out where. It seemed useful at the time.