tests/plugintest.py - Prevent unittests from spamming stdout

Previously when unittests on pynag.Plugins where being run, there would
be a lot of output going to stdout and stderr.

This patch disables stdout and stderr while running the tests.
dataset01 configuration a little more valid now
Parsers.config._locate_item() rewritten

Previous implementation shared a lot of core with
parse_string and has now been refactored to use it internally.

It should work the same way it did before, but this patch also
fixes incorrect docstrings.
Parsers/config: Support curly braces inside attrs.

This patch fixes a bug where config parser would fail
if "{" or "}" was used inside a command_line attribute

This patch Fixes #106
Merge pull request #105 from pynag/unittests-supress-stdout

tests/plugintest.py - Prevent unittests from spamming stdout
Parsers - Abstract writing to file, optimize needs_reparse()

All writing of files in this module has been abstracted into config.write()

config.write() will make sure that config._is_dirty is set to false
so that config.needs_reparse() does not have to do a filesystem walk right after a save to check
if config needs to be reparsed.
Model/get_by_shortname - Clarify if conditions
Merge branch 'locate-item-rewrite'
Merge pull request #107 from gradecke/master

Better delete() implementation for {host,contact}[group]s