(#2066) Add memory facts fixed in MB units

Previously memory facts were dynamically scaled, which was great
for human readability but bad for ability to use this information
programmatically. This commit adds memory facts fixed in MB which
were chosen as the smallest useful unit. Memory is given without
units attached.
Update lib/facter.rb, CHANGELOG, facter.spec for 1.6.10rc1
(#2066) Refactor memory facts

Refactor memory facts to make general scaled facts based off of
platform-specific MB facts. Refactor similar fact definitions and
tests. Remove fact definition and creation from vmstat_find_free_memory
method definition in util/memory.rb.
Bump Facter epoch to 1

This commit bumps the facter epoch to 1. This
is to address the errant release of a facter 2.0rc
to the Puppet Labs yum production repository, which
may have been then installed unintentionally by its
users. The epoch bump is in tandem with equivalent
changes to Facter 1.6.9 and 2.0.0rc4. This will
ensure users who intentionally installed 1.6.10 rc/
2.0 rc keep it, while users of 1.6.9 who unintentionally
installed 2.0rc are taken back to 1.6.9.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Merge pull request #238 from MosesMendoza/bump_facter_epoch_to_1

Bump facter epoch to 1
(#2066) Refactor swap facts

Ensure swap size and swap free are evaluated on fact resolution rather
than at load time. Refactor facts to remove similar code.
(#2066) Add tests for AIX

Add tests and refactor code for swap size and swap free for AIX.
(#2066) Refactor memory size and memory free facts

Add methods to util/memory.rb to retrieve  memory size and memory free
based on kernel type. Remove fact definitions specified for each
platform that were identical, and make non-kernel specific facts
when possible. This removes a lot of similar code from
lib/facter/memory.rb and makes the fact definitions more readable.
Update CHANGELOG, facter.spec for 1.6.10
Merge branch 'rlinehan-ticket/2.x/2066_make_memory_units_in_bytes' into 2.x

* rlinehan-ticket/2.x/2066_make_memory_units_in_bytes:
  (#2066) Refactor memory size and memory free facts
  (#2066) Add tests for AIX
  (#2066) Refactor swap facts
  (#2066) Refactor memory facts
  (#2066) Add memory facts fixed in MB units
(#2066) Fix facts for Linux/kFreeBSD and add tests

Make swap and memory facts in MB for Linux/kFreeBSD, as was previously
done for other platforms. Also make scaled facts depend on MB versions.
This should fix the problems encountered in the Jenkins test of the
previously-submitted code. Add tests for memory and swap facts for Linux
and kFreeBSD.
Merge remote-tracking branch 'rlinehan/ticket/2.x/2066_make_memory_units_in_bytes' into 2.x

* rlinehan/ticket/2.x/2066_make_memory_units_in_bytes:
  (#2066) Fix facts for Linux/kFreeBSD and add tests
(#2157) Add external fact support

Adds in the ability to load and parse external facts from /etc/facts.d

Initial implementation from RI Pienaar <rip@puppetlabs.com> and
improvements by Luke Kanies <luke@puppetlabs.com>
(#2157) external facts command line - bin/facter
(#2157) external facts command line - lib/facter/application.rb
(#2157) external facts command line - lib/facter/util/config.rb

Stores the ext_fact_dir in a class variable in config.rb
(#2157) external facts command line - lib/facter/util/directory_loader.rb

Directory loader uses the config ext_data_dir thing.
(#2157) external facts - lib/facter/util/directory_loader.rb

Warn instead of failing when external facts can't be loaded, do better
checkint of output.
(#2157) parser classes can register an array of extensions - lib/facter/util/config.rb
(#2157) raise error if parser doesn't implement #results - lib/facter/util/parser.rb