Add ability to install rbenv independently

- Can now install rbenv separately. Can be used as a requirement in a
  state for installing rbenv plugins using the git or file states
Fix description of method and whitespace lost
implement serializers
expose documentation of serializers
implement aggregation
ensure that str are yaml friendly
document aggregation
added reset tag
a little bit of lint
How to enable custom runners
Merge branch 'seed' into lxc
Merge remote-tracking branch 'origin/develop' into lxc
Fix issue 11020
Added exception and stack functions to the test module
Added load_text filter and import_text tag to Jinja environment
clear available pkgs cache when pkg db changes

Since repositories can be added in packages (indeed, this is the method
by which EPEL is recommended to be installed), this commit clears the
__context__ variable in which this information is stored, forcing it to
be recreated on the next call to check_db()
Added unit test for the import_text tag
clear available pkgs cache when pkgrepo state has changes

This clears __context__['pkg._avail'] when a pkgrepo state makes
changes, as this changes the available packages.
Start breaking out the bootstrap code into a unified function
Added semantics for accepting keys to joiner/joinent transactions
Added redo timers
Added auto accept logic and flag