820404- Renamed the debug cert button as suggested in the bz
adding thumbslug to headpin's ping function and tests, etc

This commit contains changes to Ping to include Thumbslug in the ping
list. At this time, Thumbslug requires cert authentication for its
ping function to work correctly, so headpin looks for an SSL error
to know whether Thumblug is running or not.

Also contained are spec tests for the Ping model and Ping controller.
All outpoing HTTP requests are stubbed with WebMock, and all OAuth
requests are stubbed at their respective Resource objects.

Included in this commit a new rake take for running
the parallel test with a little more control. It allows for one to run
katello- and headpin-only tests using parallel_test.

for tests, run:

    rake ptest:spec
    # these run with 4 cores, by default
    # tests for headpin vs katello are determined by the 'app_mode' in
    # config/katello.yml

You can also specify a regular expression to single out particular spec
files

run:

    rake ptest:spec['ping'] # spec files with 'ping'
    rake ptest:spec['user|organization'] # runs 'user' and 'organization' spec files
    # runs with one core when you specify a search string though you can
    # override it

    rake "ptest:spec['user|organization', 36]" # run the spec tests on 36 cores. woah!

The way that rspec differentiates between katello and headpin tests is
by placing tags on the test blocks.

To specify a test to run for katello only, add a `:katello => true` tag

    describe "set of katello tests", :katello => true do ... end
    context "set of katello test", :katello => true do ... end
    it "runs a test for katello only", :katello => true do ... end

or `:headpin => true` for headpin-only tests

    describe "set of headpin tests", :headpin => true do ... end
    context "set of headpin test", :headpin => true do ... end
    it "runs a test for headpin only", :headpin => true do ... end

For tests that you want to run on both sides, simply do not
add a tag.
emails - add default From to login/password emails

It was observed that with the nightly build the password reset
and login emails were no longer being sent for RHEL server
configurations.

During investigation, found the following in the delayed_jobs.log:

2013-01-10T12:10:41-0500: [Worker(delayed_job host:katello.com pid:28884)]
Class#logins failed with ArgumentError: A sender (Return-Path, Sender or From)
required to send a message - 0 failed attempts

In order to address this, we are adding a configuration property
(email_reply_address) to the katello.yml that may be used to specify
the address. If not specified, a default of 'no-reply@host' will be
used, where host is the value specified for that property.

Note: in the future, we may want to add this to the UI in the
form of a database attribute; however, we might want to consider
having the email specified at different levels possibly based on
org or classification of email (e.g. login related emails, consumer
related emails...etc)
Merge pull request #1387 from bbuckingham/fork-email_from

emails - add default From to login/password emails
820392 - repository hostname validation

Allow not fully qualified names as a repository URL. Also allow
numbers as first characters. Added some specs for edge cases.
Move all validators to one place

Since validators are not models they should not be in app/models.
All validators are now placed in lib/validators/ and each has its own
definition file.

All validators are in module Validators. When you want to use custom
validation in model you must specify a validator class so it gets loaded
by autoloader. If you use DSL provided by ActiveModel::Validations for
custom validator you'll receive unknown validator error because models
are loaded before lib. That's why we should always use validates_with
when dealing with custom validators.
Code cleanup

To obtain boolean as a result !! is usually used. Also parenthesis in
method definiton for arguments should be used.
Repository feed validation moved to validator

Validation was performed in controllers in API and UI which was not DRY.
This logic is extracted in existing KatelloUrlFormatValidator that was
not used anywhere. This validator uses KatelloUrlHelper which I left
intouched because it can be reused more easily than validator itself.

Since tests did not specify feed because it was not required until now I
had to add feed info wherever fake repository was created.
cli completion - fix in sed expression
Merge pull request #1390 from tstrachota/completion_fix

cli completion - fix in sed expression
Merge pull request #1375 from ares/bug/820392-repository_hostname_validation

Bug/820392 repository hostname validation
Revert "Pylint - Updates to remove disablement of pylint warnings present in"

This reverts commit f5d62e42ae52faca1b0a5aa38f272765cc538e66.
resolve pylint errors on Fedora 19

addressing:
+ pylint --rcfile=/etc/spacewalk-pylint.rc --additional-builtins=_ katello
************* Module katello.client.core.utils
W1401:296,0: Anomalous backslash in string: '\0'. String constant might be missing an r prefix.
W1401:298,0: Anomalous backslash in string: '\0'. String constant might be missing an r prefix.
W1401:309,0: Anomalous backslash in string: '\0'. String constant might be missing an r prefix.
W1401:320,0: Anomalous backslash in string: '\|'. String constant might be missing an r prefix.
Merge pull request #1391 from xsuchy/pull-req-pylint-F19

resolve pylint errors on Fedora 19
894480 - remove PyXML dependency

Quote from BZ:
I've opened up a Fedora 19 Feature to remove PyXML due to a combination of it being dead upstream for many years and that when it's installed, the python stdlib overwrites its own xml module with PyXML.  This combination leads to errors because PyXML's code is older and contains bugs that have been fixed in the stdlib.
make travis happy
Merge pull request #1389 from xsuchy/pull-req-bz894480

894480 - remove PyXML dependency
telling travis to run new parallel rake task
Setting the min_messages level to warning
Translations - Download translations from Transifex for katello-cli.