Extend RACAble underlaying methods by two additional arguments

These two arguments `changeKind` and `option` will allow better observation
of key-value compliant properties, including observation prior change, obtaining
previous value of the property or observation of collection mutations.
Add RACTuplePackWithNils that converts NSNulls to nils
Add variety of RACAble macros with backward compatibility

New RACAble macros for returning previous value (not only current one),
observing prior setting (the old value) and observing collection changes.
Underlaying macros and methods now accept new argument that defines when and
what objects are send from this signal.
Make KVO signal creating with types more readable

New method `+rac_signalWithChangesFor:keyPath:observer:` returns a signal, that
returns whole change dictionary from KVO. Modified method
`+rac_signalFor:keyPath:observer:type:` appends `-filter:` and `-map:` streams
depending on the given type.
Rename RACAbleTypeReplacement -> RACAbleTypeReplace
Merge branch 'feature/kvo-options' into develop