Refactored RKConnectionDescription for improved encapsulation and subclassing

Removed type getter `isForeignKeyConnection` / `isKeyPathConnection` and make internal used subclasses public. So it is possible to create own connections with custom behavior.

I want to build an eager RKRemoteForeignKeyConnectionDescription, which has a relationship route to full-automatic request related objects by their foreign keys if they are not found in local store. What do you mean, do you feel comfortable about this way?