Refactor animation types

It's an idea, i have seen a lot a "extern NSString * const" string just to choose the expected changed value, and it's was not really understandable for me.
Those strings are only use to find the right AnimatableProperty.

So what ?
* I'have made an enumeration an the registered read/write block changes -> now, users know exactly what animation is already ready to be use, 
* i'have made a some news methods, to be able to register custom properties animatable

```objc
+ (id)propertyWithCustomName:(NSString *)name;
+ (id)propertyWithCustomName:(NSString *)name initializer:(void (^)(POPMutableAnimatableProperty *prop))block;
```

* i fix the unit test (because of my modifications).