[Soc2014] Official meta API

I thought of this, but I decided not to do this. And I am happy to change, if we all agree to it.
Yes it's true, it looks like everything on is_reverse_object can be overrided on a RelatedObject class and that would work great, but at what price?

1. Currently, all flags are consistent as dynamic behavours are all defined on one file, in 100 consecutive lines. So this makes the code super maintainable.
2. The consequence of 1: less bugs. As the code is all in one place, it makes it easier to debug and in general it is more bug-free.