Finalize core

All operations are now created with builders for consistency.

Operations which require more than a simple response type have
the response class as a public static nested class.

At the core we no longer cache and return query information. This
will be handled in the user API level.