Allow a single argument, rather than an array
(maint) refactor ensure_packages for clarity
(maint) Update ensure_package specs to confirm expected behavior

The previous behavior of the tests checked the behavior of the
underlying functions library when called with no arguments; this commit
updates the tests to conform to the functions API and test what happens
when a function is called with no args.
Merge branch 'pull-201'

This closes GH-201.
(PUP-1459) Add support for root_home on OS X 10.9

getent does not exist on 10.9 so this commit uses
dscacheutil to query the homedir for the root user.
Enable fast finish in Travis

http://blog.travis-ci.com/2013-11-27-fast-finishing-builds/
Merge pull request #216 from ghoneycutt/enable_travis_fast_finish

Enable fast finish in Travis
(PUP-1195) Fix is_numeric/is_integer when checking non-string parameters

I expect a function called "is_numeric" or "is_integer" to check if a
variable is an integer or a number even if the variable passed by isn't
a string nor a number at all. Otherwise we should call them
is_string_a_number and is_string_an_integer and we have then to remove
the check for .is_a?(Number) and .is_a?(FixNum)

now checking also if it is a hex or octal number

improved/corrected checking for integer

* checking against Integer instead of Fixnum so that
  also Bignum is matching
* now .is_a? Integer is done first so this is quiet fast

Now many types of numerics are recognized.

1. Float/Integer values (signed or unsigned, with exponent or without)
2. octal and hex check
3. except hex numbers and the "0." in a float lower than 1 can be prefixed
   with a '0'.

whitespaces shouldn't be allowed as prefix/suffix

string representation of numbers should not contain any type of
whitespace.. the user is responsible to clean a string before checking
it..

fix documentation and added more checks

tried to be 99.9% backward compatible

* for now the decission is post poned if hex and octal numbers
  should be allowed or not (is_numeric)
* native Bignum is now also a valid integer class

fix problem with old 1.8 ruby and Hash.to_s/Array.to_s

In ruby < 1.9 array and hashes would be recognized as numeric
if they have a special format:

1.8:

  [1,2,3,4].to_s = "1234"
  {1=>2}.to_s    = "12"

1.9:

  [1,2,3,4].to_s = "[1, 2, 3, 4]"
  {1=>2}.to_s    = "{1=>2}"
(PUP-1195) Rephrase documentation for is_integer and is_numeric

The documentation contained references to future decisions about
functionality. 
Text rephrased for clarity.
(DOCUMENT-21) add docs for file_line to README.markdown

Without this, you have to look at the source file
(lib/puppet/type/file_line.rb) to know what it does. This adds that
documentation.
Merge pull request #215 from blkperl/add_root_home_to_mavericks

(PUP-1459) Add support for root_home on OS X 10.9
(PUP-636) Ignore generated file
(PUP-638) Add a pick_default() function that always returns a value.

This version of pick() does not error out, instead always returning at least
the last argument, even if that too has no "real" value.
Merge branch 'DavidS-broaden-pick-arguments2'

* DavidS-broaden-pick-arguments2:
  (PUP-638) Add a pick_default() function that always returns a value.
  (PUP-636) Ignore generated file
Remove trailing whitespace
Merge pull request #218 from mediatemple/remove_trailing_whitespace

Remove trailing whitespace
Fix strftime documentation in README

Markdown was barfing due to typo
Merge pull request #219 from petems/patch-1

Fix strftime documentation in README
Merge pull request #217 from teancom/fix/master/file_line

(DOCUMENT-21) add docs for file_line to README.markdown
PUP-1724 Don't modify the paramaters to deep_merge

Instead of modifying the first paramater of deep_merge due to the
use of the merge! function, instead use merge to return a copy of
the merged object. This allows one to continue to use the original
first parameter after the call to deep_merge.