Fix $HOSTDISPLAYNAME$ not being resolved correctly

HOSTDISPLAYNAME should refer to self.display_name but was
defaulting to self.displayname

In addition if it is not defined it should refer to self.host_name

I also did a little bit of clean up of the standard macro look up.

it still needs more work, but this change is only for the better.

contact macros remain fairly unusable and the list of standard macros
in macros.py is fairly incomplete.
Merge pull request #189 from pynag/fix-hostdisplayname-macro

Fix $HOSTDISPLAYNAME$ not being resolved correctly