(#22168) Adjust max-threads based on cpu

This patch fixes a weird behaviour in Jetty 7 whereby if you attempt to set the
max-threads to something lower then the number of CPU's on your system, it will
simply stop with the warning:

  insufficient threads configured for SslSelectChannelConnector@0.0.0.0:8081

At this point it will simply not serve any HTTP request at all, effectively
breaking PuppetDB.

This also applies to the default setting of 50. So users with greater then 50
cpus will always see this error, and may not know how to resolve it themselves.

This patch adjusts the behaviour so we automatically adjust the # of
max-threads to a safe level if below num-cpus, and we log a warning telling the
user of this fact.

Signed-off-by: Ken Barber <ken@bob.sh>
(maint) document max-threads

This documents the Jetty setting for 'max-threads'.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #606 from kbarber/ticket/1.3.x/22168-adjust-max-threads-based-on-cpu

(#22168) Adjust max-threads based on cpu
Merge pull request #608 from kbarber/maint/1.1.x/document-max-threads

(maint) document max-threads
Merge branch '1.1.x' into 1.2.x

* 1.1.x:
  (maint) document max-threads
Merge branch '1.2.x' into 1.3.x

* 1.2.x:
  (maint) document max-threads
(maint) Remove oneiric, add raring to puppetdb build_deb shell script.
(cherry picked from commit f1c6ebbb8948ec59f2c2b005b09f58c28ade18f3)
(Bug #22165) rm hardcoded hostname dependencies

Prior to this commit, we had hardcoded burji.puppetlabs.com in the
build_defaults file. We've come to the conclusion that this isn't the
best way thing to do. This commit takes out those hardcoded hostnames,
in favor of cnames that point to the right place, and will be easier to
update next time we change things up.
(packaging) Remove Ubuntu Oneiric, add Raring

Oneiric is EOL, and we are no longer building for it. This commit removes the
Oneiric target from the build list for puppet. We also now build for Raring
Ringtail, so we add this to targets.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
(cherry picked from commit 8a767186ae220e2f3fd37edf8282448e929f6365)
Merge pull request #609 from melissaanne/maint/1.3.x/bug-22165_rm-hardcoded-hostname

(Bug #22165) rm hardcoded hostname dependencies
Merge branch '1.3.x' into 1.4.x

* 1.3.x:
  (packaging) Remove Ubuntu Oneiric, add Raring
  (Bug #22165) rm hardcoded hostname dependencies
  (maint) Remove oneiric, add raring to puppetdb build_deb shell script. (cherry picked from commit f1c6ebbb8948ec59f2c2b005b09f58c28ade18f3)
  (maint) document max-threads
  (#22168) Adjust max-threads based on cpu

Conflicts:
	src/com/puppetlabs/puppetdb/cli/services.clj
	test/com/puppetlabs/puppetdb/test/cli/services.clj
Merge branch '1.4.x' into burgundy

* 1.4.x:
  (packaging) Remove Ubuntu Oneiric, add Raring
  (Bug #22165) rm hardcoded hostname dependencies
  (maint) Remove oneiric, add raring to puppetdb build_deb shell script. (cherry picked from commit f1c6ebbb8948ec59f2c2b005b09f58c28ade18f3)
  (maint) document max-threads
  (#22168) Adjust max-threads based on cpu
(PE-1300) Don't ignore failed resource statuses

Prior to this commit, the PuppetDB report processor/terminus
ignored 'failed' resource statuses unless they have events.
This commit changes the processor so it no longer ignores them
and instead it fabricates an appropriate event to attach to
the 'failed' resource status.

Ideally, Puppet should be including resource events even for
'failed' statuses, but until then, and to support backwards
compatibility, we can just fabricate the events.
Merge pull request #595 from cprice404/feature/burgundy/PE-962-save-last-run-info

Feature/burgundy/pe 962 save last run info
Add comment relating code to ticket
Merge pull request #613 from cprice404/feature/burgundy/PE-1205_query_for_report_by_hash

Feature/burgundy/pe 1205 query for report by hash
Merge pull request #615 from shakedown/pe1300-submit-failed-events

(PE-1300) Don't ignore failed resource statuses
Introduce v3 query API endpoints

This commit introduces the v3 query endpoints.  For now, they are
all simply routing directly to the v2 endpoints; this commit is
merely scaffolding.

It also deprecates the v1 endpoints and introduces tests to
validate the deprecation warnings, and updates all acceptance tests
to use the new v3 endpoints.