(maint) Add update_version_file flag to update version on the fly

Previously the packaging tasks assumed the version would be hardcoded in the
version file. This behavior could be overridden by passing in an environment
variable NEW_STYLE_PACKAGE. That is fine for one-off builds, but is less
effective is the package will always be built this way. This commit addresses
that by adding a new field to project_data.yaml call update_version_file. It is
expected to be a boolean, and when true it will swap in the version on the fly.
(maint) Add version_strategy field to project_data

Not all projects use the same indicators to decide whether a project is a final
build or development/release candidate build. This commit adds a new field to
ext/project_data.yaml to allow more flexibility. The version_strategy can be
one of rc_final or odd_even. rc_final is the default and is what is used in
most of Puppet Labs' projects. odd_even is used in mcollective. For odd_even,
an odd minor version number indicates a development release and an even number
indicates a final release. This commit adds new helper methods called is_odd?
and is_final? to aid in this endeavor. Test cases are added for the is_odd?
method to ensure it behaves as expected, and the README has been updated with
explanations of the new field.
Remove () from el_version method.
(maint) Don't ship development gems using the odd_even strategy

Development gems using the odd_even strategy will be of higher version than the
last final gem version released, so they would be installed by default in the
case of a `gem install` invocation. This is undesirable, so this commit
prevents shipping a development gem versioned using the odd_even strategy.
(maint) Remove params that are no longer used

The sles params are no longer used as sles rpms are now built with mock. This
commit removes those params from the build object spec, as they are no longer
part of the build object.
Merge pull request #229 from haus/maint/mcollective_inspired_fixes

Various improvements to versioning to help with mcollective packaging