Merge pull request #280 from haus/ticket/master/re_1172_fix_fix_templates_fix

(RE-1172) Reset @packaging_root after loading overrides
(RE-1138) support versions less than zero as RC

Currently, a project must be either tagged with 'rc' or have an odd minor
version and specify odd_even versioning to get into the RC repos. We have a
request to support a project versioned with major less than 1 as RC repos as
well. This commit adds a new version strategy called 'zero_based' in which a
project that has a major version of 0 will always be considered not-final. This
is opt-in, which prevents breaking any existing usage.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Merge pull request #282 from MosesMendoza/RE-1138/master/zero_based_versioning

(RE-1138) support versions less than zero as RC
(maint) Fix specs to run even after a package bootstrap

Prior to this change, if the packaging repo was bootstrapped
(i.e. so that it lives inside another repo), and that
repo specified a value for tar_host, this one spec would
fail because it assumed that value was nil.

This change just stashes the value of tar_host, and sets it
to nil to match the spec test assumption, and then restores
the original value when it's done.
Merge pull request #284 from kylog/maint/spec-fix-up

(maint) Fix specs to run even after a package bootstrap
(RE-1535) Restore previous template behavior

Previously, debian templates would be automatically evaluated and
included in tarballs. This functionality was lost at some point. This
commit works around the issue by sourcing the template from the root if
it doesn't exist in the workdir. If it is not available in either
location it exits with a helpful message.
(maint) Add http:// to the link given to users to make it clickable
Merge pull request #286 from haus/maint/master/add_http_to_link

(maint) Add http:// to the link given to users to make it clickable
Merge pull request #285 from haus/ticket/master/re_1535

(RE-1535) Restore previous template behavior
(maint) Add a utility method: git_project_name
(maint) Add a pl:tickets task for creating jira tickets for the release process
(maint) Warn if the proper jira gem isn't installed
(maint) Add a how-to comment for pl:tickets
(maint) Add puppetdb and team to the project/devs lists
(maint) Add requirement to specify DATE=<something>
(maint) Make date mandatory
(maint) Extend require_library_or_fail to case where gem name != library name

Note that some gems are named something other than their actual library
name. E.g. there is a ruby gem called 'jira' that you would load with
'require jira', but that is not the gem we want. Instead we want the
gem called 'ruby-jira' which is also loaded with 'require 'jira'.
Because ruby. Yay!

Prior to this patch, the 'require_library_or_fail' utility method
assumed the gem name and the ruby name were the same. This supports
the case where they are different (hopefully leading to a more useful
error message). This patch also flips tickets.rake over to use
'require_library_or_fail'.
(maint) Add Pkg::Util.get_var to get an env var (and fail if missing)
(maint) Add ability to have a project-specific release step

PuppetDB has a project-specific build step (updating DuJour). We should
try to keep project-specific build steps pretty limited, so I'm hoping
this isn't too much of a slippery slope. If there's a lot of need, we
may want to restructure this code accordingly.
(maint) Require a real jira user to create tix (rather than gepetto_bot)