XMLFileBacked: Monitor XIncludes whenever a FAM is available

This monitors XIncluded files even if should_monitor=False, since the
object monitoring the base file will not monitor XIncludes.  This
ensures that XIncluded files are properly monitored whenever possible,
particularly for Bundler and Properties.

This is a partial backport of 5b66845 -- as much of a backport as is
possible without a module-level FAM object.
bcfg2_local.py: Fixed addresspair port
Cfg: More flexible and complete way to specify authorized keys options
Allow Connector to create new groups

Connector plugins can now create new groups, including the full range
of options on those groups (profile, public, category, etc.).
Core: avoid importing Metadata before Django has been configured
POSIXUsers: Fix traceback

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Cfg: Give non-specific handlers a default specificity
testsuite: add "encoding" to setup for POSIXUsers tests
Cfg: allow changing category specific-ness of generated authorized_keys
bcfg2-lint: Added Cfg check for multiple global handlers for one entry set
XMLFileBacked: Fixed multiple identical XIncludes in one file
XMLFileBacked: removed unused variable
Remove all ACLs (including mask) from entries with no ACLs listed

When installing an entry with no ACLs specified, but with ACLs on the
file as it exists on the filesystem, the ACL mask was preserved, even
as the ACLs are deleted.
CfgPublicKeyCreator: properly handle case where only private key has been created

Previously, only two cases were handled properly: both public and
private keys had been created; or neither had been created.  If the
private key had been created (e.g., manually added to the repo), the
public key would not be created from it.  This fixes that.
testsuite: Fixed CfgPublicKeyCreator tests

Instead of mocking get_filename, use its normal functionality.  This
avoids a messy situation where we have to mock out a **magic call,
which py2.5 doesn't like at all.
doc: Init script was updated to use a directory

Reported on IRC:
http://colabti.org/irclogger/irclogger_log/bcfg2?date=2013-09-16;raw=on

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
bcfg2-lint: Fixed Metadata check for duplicate groups

The duplicate group check parsed groups differently from the actual
groups.xml parsing routines; the latter followed the documentation,
while the duplicate group check did now.  This fixes the duplicate
group check to parse groups.xml correctly when looking for duplicates.

Fixes #140
posixusers_baseline.py: Handle users with nonexistent primary groups
GroupLogic: sort after other plugins so GroupLogic can use, e.g., Probe groups
GroupLogic: avoid infinite recursion when using metadata.query in GroupLogic