Adds a fast enumeration state class.
Fast enumeration state exposes accessors for NSFastEnumeration-style buffers.

It also adds a +newWith… constructor, in an attempt to prevent issues with autoreleased instances. Overriding -retain, -release, and -autorelease may be desirable.
Generators use object-modelled fast enumeration state as a proof of concept.
Makes RXFastEnumerationState more automatic.

It assigns the mutations and items pointers for you, and takes an initializer block which can be used to do first-iteration setup.
RXIntervalTraversal uses RXIntervalEnumerationState.
RXGeneratorEnumerationState wraps its initialization handler.
RXFastEnumerationState can construct heap-allocated instances.

This is done with the addition of a state protocol.
Enumeration strategies take a const internal objects pointer.
RXEnumerationTraversal uses RXFastEnumerationState.
RXTraversalArray uses RXFastEnumerationState.
RXRecursiveEnumerator uses RXRecursiveEnumeratorState.

It is now also marginally less inadvisable.
Fast enumeration state exposes a const items pointer.

This can be convenient for assigning internal pointers.
RXTuple uses RXFastEnumerationState.
Renames RXTraversalArray’s enumeration state subclass.
Merge branch 'feature/fast-enumeration-state-as-object' into develop