Single DataType import Fix

Importing a file with a single data type failed, because the DataType
element is at the root when exported.
Fix Importing Macro when macro already exists

ParseMacroElement called by ImportMacro was no checking for to see if
the macro or properties already exists - caused SQL errors on import of
macro. Added check to look for existing macro, and only add new
properties on import (in line with other import methods)
Fix Template Import when template has no master

Importing a template with no master template (i.e when it's at the root)
caused an error. Added check for MasterTemplateId != null - (tried
.IsValueCreated but that generated a object not set exception)