tuned grep lambda to call object.get(k) only once
change all str(v) into local var v_str in lambdas in Utils.grep

it's a bit more ugly but quite a lot faster
Merge pull request #102 from pall-valmundsson/tune-grep

Performance tuning in Utils.grep()
Fix tracebacks when invalid regex exists in config

There is a nagios quirk that allows '*' as a valid value where otherwise an actual regex is required.

We do same hack in our regex resolving, so '^*$' is replaced with '.*'

This fixes "sre_constants.error: nothing to repeat" on debian default config.
Updated Changelog
Makefile updates

make debs was broken after debian directory was renamed debian.upstream
Added ObjectDefinition.attribute_is_empty() for a quick way of telling if an attribute has no meaningful value
Small fix in attribute_is_empty() & test for attribute_is_empty()
Fix TypeError in PynagError's __init__ due to Python 2.4

Python 2.4 Exception's are not new-style classes. Therefore, we cannot use
the super(Parent, self) syntax.

This fixes errors in test_invalid_threshold and test_invalid_range

      File "/home/nagios/pynag/pynag/Utils/__init__.py", line 48, in __init__
        super(self.__class__, self).__init__(message, *args,**kwargs)
    TypeError: super() argument 1 must be type, not classobj
Added Model.Service/Hostescalation, Model.Contactgroup.delete() plus Test for the later
Merge pull request #103 from dekimsey/py24-super-exception

Fix TypeError in PynagError's __init__ due to Python 2.4
Parsers.config.apply_template() - fix incorrect parsing when duplicate names exist

If user has incorrectly configured nagios to have multiple objects with the same name, the nagios parser surely will get confused.

However we had a bug where multiple objects with the same name, then all duplicates would get lost because cache dictionary was keyed to the name.
Parsers - Rename shadowed built-ins

Legacy code was using keywords like object and buffer, they have now been renamed
Improve readability of the parsers module
Allow handle relative paths in cfg_dir, cfg_file

When nagios.cfg specifies relative paths in cfg_dir and cfg_files
the previous behavior was to make the path relative to current working directory.

After this change, the paths are relative to the location of nagios.cfg which
hopefully better matches what nagios does.

* Fixes #104
Model - get_suggested_filename  change service templates with host_name

If an object with register=0 and name=X and host_name=X was saved, it would go into
templates directory.

After this patch, services like this are stored with their host, despite being unregistered.
fix paths in nagios.cfg on dataset01
Merge remote-tracking branch 'upstream/master'
Make doctests in Parsers module travis friendly
ObjectDefinition.attribute_removefield now removes empty attributes

Before if removing the last field from an attribute, it would leave the attribute empty
which in many cases is invalid in nagios.

Now when removing the last attribute, the attribute is also removed.