Node target_platform fallbacks to default_platform

The default platform of the nodes is inferred from the platform of the
admin node (and is empty if there's no admin node - possible bug?)

Move the default_platform helper code to NodeObject class, where it gets
cached.

Then use it in the target_platform as a fallback.
Merge pull request #1052 from bkutil/fix_default_platform

Node target_platform fallbacks to default_platform