Engine: Refs #3641 - Fixing v2 controller tests
Merge pull request #3378 from daviddavis/temp/20131114093349

Engine: Refs #3641 - Fixing v2 controller tests
Engine: only create pulp_server if remote_id exists

The remote_id will almost always exist; however, this change
is to address a single scenario where we know that it will not.
When the katello engine is initially included in to the foreman
core and the user runs db:migrate, this logic will get hit;
however, it is prior to the migration that adds the remote_id.
Engine: API: changes to support subscription-manager interactions

This commit contains several changes to support various
subscription-manager actions from a client.

e.g.
- subscription-manager
  - register/unregister
  - subscribe/unsubscribe/list
  - environments
  - organizations

When interacting with the client, there are scenarios where
the client cert is needed to support interfacing with backend
engines.  As a result, 'require_user' has been extended to
utilize that certificate in a manner similar to what was
previously done by warden.rb (i.e. pre-engine).
Merge pull request #3379 from bbuckingham/engine-systems

Engine: API: changes to support subscription-manager interactions
Merge pull request #3383 from bbuckingham/engine-single_migrate

Engine: only create pulp_server if remote_id exists