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. namely
split up _standard_macros in macros.py into STANDARD_SERVICE_MACROS, STANDARD_HOST_MACROS, etc

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.