Added MuranoPL infrastructure for advanced networking scenarios

Base class 'Network' (io.murano.resources.Network) was added to core package.
This class is an abstract class for network interaction, to be inherited by
engine-specific implementations.

'Environment' class got a 'defaultNetworks' input parameter, containing two
different instances of Network class  for two initially supported networking use-cases:
'environment' for a topology when each environment has an isolated network
'flat' for a single network per multiple environments

'Instance' class got a 'networks' input parameter with a default value.
This is a composite parameter indicating which networks the instance should join
If 'useEnvironmentNetwork' is set to 'true' the instance should join an
isolated network of current environment
if 'useFlatNetwork' is set to 'true' the instance should join a single
shared network
Both values may be enabled, so the instance will join both networks.
'customNetworks' field of the same data structure may be used to specify custom
network resources to join

Same commit includes a temporary workaround for bug #1313694
The workaround is needed to properly use default of 'networks' field

The actual implementation of io.murano.resources.Network class should
be done in a separate package, which should be added to app-incubator repo

Change-Id: If2ae332a61900b0dd94cec94c1c140c54079441f
Partial-Bug: #1308921
Merge "Added MuranoPL infrastructure for advanced networking scenarios"