RPC backward compatibility

I basically just added the old code from master because extending the new classes would be too much hassle. So old applications will keep working with the old code.

The downside is migrating only one class at a time will not work, so users will need to migrate all classes at once, but basically it is changing the import.

Next on my task list:
- Add back some extension points in the dispatchers.
- Update all javadoc
- Write migration notes