Make app namespace optional

allowing app namespace to be optional,

Uses util in NameValidator to try and calculate it and throws an exception if the generated namespace is not valid