Puppet Uploads: Adding test for uploads
1004990 - When using LDAP auth don't show me option to recover
credentials
Rubocop: Locking version to prevent breakages
Merge pull request #2925 from daviddavis/puppet-upload-test

Puppet Uploads: Adding test for glue code
Updated the publish algorithm to deal with deps

The following changes were made with respect what gets published
and what doesn't.
One of the main shifts from the previous publish algorithm is this idea
that "Package Groups and Errata filter rules merely indicate what rpms gets
copied". In other words when copying contents, if the user says "include
errata E1", what gets copied is all the packages belonging to E1 and their
dependencies.
A separate copy call is then made to copy all errata & package groups
over to the cloned repo.
Then in the cloned repo all "empty" package groups and errata are deleted.
"empty" here implies those errata and package groups where none of the
referenced packages in them belong in that repo.

So the updated algorithm now looks like
1) Compute all the packages to be whitelist/blacklist. In this process
   grok all the packages belonging to Errata/Package  groups etc  (work done by
   PackageClauseGenerator)
2) Copy Packages (Whitelist - Blacklist) with their dependencies
3) Unassociate the blacklisted items from the clone. This is so that if the deps
   were among the blacklisted packages, they would have gotten copied along in
   the previous step.
4) Copy all errata and package groups
5) Prune errata and package groups that have no existing packagea in the cloned repo
6) Index for search.

This commit also has some refactoring with respect to the generation of the
package/puppet clauses.

So for step 1 of the above algorithm, it uses the "PackageClauseGenerator" and
similarly for puppet modules, it uses the "PuppetClauseGenerator". The methods in
ContentViewDefinition publish "associate_contents" call have been moved around to
associate_yum_types and associate_puppet methods, to improve the code organization.

Commit also includes test code to cover the clause generators and associate contents
methods.
Fixing User.readable by moving scope to class methods
Merge pull request #2907 from parthaa/n3-pb

Updated the publish algorithm to deal with deps
Merge pull request #2927 from daviddavis/temp/20130911161614

Rubocop: Locking version to prevent breakages
Merge pull request #2929 from daviddavis/temp/20130912103156

Fixing User.readable by moving scope to class methods
Merge pull request #2926 from komidore64/ldap-cred-fix

1004990 - When using LDAP auth don't show me option to recover credentials
issue 2928: Bastion: fix org selector on nutupane

This commit is to fix the org selector so that when a user clicks
on a new org, they are placed in that org and redirected to the
Dashboard.  The behavior is intended to be consistent with the
legacy tupane.
Merge pull request #2932 from bbuckingham/issue-2928

issue 2928: Bastion: fix org selector on nutupane
Systems: Adding system register panel to systems page for nutupane.
ignore node_modules folder for devs
Merge pull request #2933 from jlsherrill/rubocop-ignore

ignore node_modules folder for devs
Merge pull request #2931 from ehelms/system-register-nutupane

Systems: Adding system register panel to systems page for nutupane.
Products: Adding products details, repository listing and details.
Products: Initial discovery work and adding some tests.
Products: Adding a bunch of tests and updating some permission calls.
Products: Fixing invalid types for apipie documentation.