Showcase the new-style lookup plugin access in the authorized_key docs rather than the old-style $FILE
Fixup authorized key documentation formatting
Ignore inventory config files when using an inventory directory.
Don't send unicode instances to the selinux module

This fixes #2632.  Briefly: specifying things like paths using complex
args in a playbook will make the objects unicode instances.  The selinux
module does not accept unicode instances for its char * arguments; it
wants str instances.

Per mpdehaan's comment on #2632 I just went ahead and converted all
paths to UTF-8.  I don't know if it would be better to do something like
converting to locale.getpreferredencoding(), but I factored all the
conversions out into new method _to_filesystem_str, so there's only one
place that needs to be changed in the future.
Instantiate callback plugins only once so we can set play/task objects on them and they'll stick.
Showcase the new-style lookup plugin access in the authorized_key docs rather than the old-style $FILE
Fixup authorized key documentation formatting
Ignore inventory config files when using an inventory directory.
Merge commit '53ac0bb' into devel
Merge pull request #2727 from dsedivec/devel

Don't send unicode instances to the selinux module
Since using platform.node, be sure to just return the hostname component.
Convert 'hacking' instructions to markdown, add more info.
Restructure hacking readme.
Instantiate filter plugins only once to save some efficiency.
Instantiate inventory plugins only once for efficiency reasons.