Added action type to  changeset to accomadate content deletion

Added initial bindings to changeset. We may decide to go with the inheritance model
soon, depending on the variations in the backend code.
Made some modifications on the initial model based on comments
Forgot to undo one part
Merge pull request #337 from parthaa/init-content-deletion-model

content-deletion - Added action type to  changeset to accomadate content deletion
content-deletion - update ui to support defining an action type on changeset

This commit contains the changes to allow user to define the changeset as
either a deletion or promotion changeset.
content-deletion - remove 'promotion' from several display text items

Updating several of the i18n strings to remove the word 'promotion'
since the changeset will be used to support both promotion and deletion.

As we add in the deletion capability and test, we'll make the distinctions
in the text, where appropriate.
promotions - fix bugs with removing packages from a changeset

While working on a feature, found that a couple of bugs in being
able to delete packages from a changeset via the changeset sliding
tree.
promotions - bug - promoted repo can be promoted over and over

Once a repo has been promoted to the next environment, it should show
as 'promoted' in the UI and the user should not be adding it
to another changeset to promote again.  (I.e. once the repo is promoted,
the user would promote the pkgs and errata for promotion).  (This is
based upon feedback from the original developer).

Without this commit, the user can promote the same repo over and
over, even if it has already been promoted.   This appears to
be a regression introduced when we added the repository model
to the katello AR.
content-deletion - initial ui chgs for add/remove to deletion changeset

This commit contains the initial changes needed to allow a user
to add/remove objects to deletion changeset.  Object in this
context include: products, system templates, repositories,
packages, errata and distributions.

In the case of a deletion changeset, the user should be able to add/remove
anything that is in the current environment.

In the case of a promotion changeset, the user should only
be able to add content based upon the previous established rules
(e.g. product promoted to next env, object not already promoted...etc)
content-deletion - show cs type on promotions cs edit details pane

When user views the details for a changeset on the promotions
page, they should see that it is either for deletion or promotion.

At this time, user cannot edit the changeset type, since doing
so could completely invalidate some of the content in the changeset.
content-deletion - changeset history - show changeset type

When viewing a changeset from the changeset history, include the
type as part of the information displayed.
Merge pull request #363 from bbuckingham/fork-content-deletion

content-deletion - a few UI commits
content-deletion - fix broken spec
Merge pull request #366 from bbuckingham/fork-content-deletion

content-deletion - fix broken spec
content-deletion - associate proper env with changeset upon creation

When a changeset is created, it is associated with an environment.
This commit will associate the changeset with the proper environment
based upon the type of changeset.

In the case of a deletion changeset, it needs to be associated with
the current environment (e.g. dev, if in dev env).

In the case of a promotion changeset, it needs to be associated with
the next environment where the content is being promoted to
(e.g. if in dev and next env is test, it would be set to test).
now supports randomly selecting a poolId from
OrganizationAPI.pools().

Warning message added to let user know that with -r
the run time will increase.
content-deletion - fix specs broken on previous commit

In the previous commit, we updated the logic to associate
proper environment with the changeset based upon the
changeset action (promotion/deletion); however, the
specs needed some updates to account for this change.
content-deletion - only allow promotion changesets when in Library

When the user is in the Library, only allow for changesets of
type 'promotion'.  Do not allow for 'deletion' changesets.
content-deletion - update navigation for changesets

With content-deletion, we are adding the ability to support both
promotions and deletions of content.  The current navigation is
worded such that it indicates support of only promotions.

Based on feedback/discussion on mailing list, updating the navigation
from:

  Content -> Changeset Promotions -> Promotions
                                  -> Changeset Promotion History

to:

  Content -> Changset Management -> Changesets
                                 -> Changesets History
content-deletion - set the ui action button to promote/delete based on cs type

This small commit updates the 'play' button text to set it to delete or
promote based upon the type of changeset that is currently open.