(GEP-172) Support resource body with default literal as title

Puppet versions >= 4.0 will allow using literal default as the
title in resource bodies. This commit ensures that Geppetto doesn't
complain when this happen unless the target platfrom is < 4.0.
This is no longer restricted in future parser, but it is in older version it is (since special grammar was used). 
i.e. you are allowed to do this:
```notify { if true { hi } else { bye} : message => 'yiss mfn breadcrumbs' } ```

It is validated at runtime to ensure that it results in Tree of Variant[String, Array[String]] (i.e. the same recursively, since the result is flattened).