(CFACT-12) Implement external facts in YAML files.

Implementing external fact support for facts defined in YAML files.
Adding --external-dir and no-external-dir options to cfacter.
(maint) Make array_value and map_value mutable.

Allowing adding new elements to array_value and map_value.
Removing vector/map constructors from both, respectively.
Removing elements member that returns the underlying vector/map respectively.
Adding size, empty, and each members for consistency.
Updating tests for new interface.
(maint) Fix resource leak in scoped_bio.

Fixing resource leak in scoped_bio where the base constructor wasn't being called so the deleter function wasn't set.
Removing the default base constructor to prevent this from happening in the future.
(CFACT-12) Implement external facts in JSON files.

Implementing a JSON external facts resolver.
Adding scoped_file to scope FILE*.
Fixing tests where ASSERT_EQ was used for doubles (ASSERT_DOUBLE_EQ should be used instead).
(maint) Change cfacter logging output from stdout to stderr.

Fixing outputting of debug/info/warning/error/fatal messages to stderr instead of stdout.
This allows users to redirect the output to /dev/null to ignore those messages but still get the fact output.
(CFACT-12) Sort external fact files.

Sorting the external fact files so that we process them in alphabetical
order rather than discovery order, which is file system dependent.
(maint) Fix execution_failure_exception to derive from execution_exception.

Fixing execution_failure_exception to derive from execution_exception instead of runtime_error.
(maint) Add each_line string util function.

Adding an each_line string util function to cfacter.
(CFACT-12) Fix external fact precedence, filtering, and platform-specific resolving.

Fixing external fact precedence so that external facts are resolved after built-in facts.
Fixing external fact filtering so that we remove resolved external facts that aren't in the filter.
Moving external fact resolver list to be platform specific.  This will allow different execution resolving implementations.
(CFACT-12) Implement external facts in the gem.

Implementing external fact searching in the gem.
Adding documentation to cfacter gem methods.
(maint) Add gem testing to Travis CI.

Updating Travis script to build, install, and test the cfacter gem.