(PUP-3114) Specify the Resource Expression

This changes the Resource Expression spec:

* The type expression may be a QualifiedName, a QualifiedReference or
  an AccessExpression with a left expression being a QualifiedReference.
* The type expression must evaluate to a CatalogEntry without title.
* The AttributeFromHash operation is now specified to be allowed 
  multiple times.
* The grammar for ResourceDefaults have been updated with a specific
  description rather than listing the exceptions from the regular
  Resource Expression.
(PUP-3117) Specify that *=> can only by used once per resource body

While it is required that attribute names are unique, it is extra
confusing to use multiple *=> entries. Instead, the hash should
be transformed / merged / entries removed and used once. Without this
requirement it is hard to figure out what multiple entries mean.
Merge pull request #18 from hlindberg/PUP-3117_resource-expression

(PUP-3117) Update spec about resource expressions
(maint) Fix typo Platform[Ruby] => Runtime[Ruby]
typo in language/modus-operandi.md
Merge pull request #19 from fiddyspence/doc/typo_in_modusoperandi

(maint) typo in language/modus-operandi.md
(maint) Clarify that automatic truthy to Boolean is only in logical expr

"Thruthy" values are not automatically converted to booleans when
passed as parameters. The spec did not mention where automatic
conversion takes place.
Merge branch 'master' of git@github.com:puppetlabs/puppet-specifications.git
Correct type "used" => "made"
(PUP-3366) Note that Enum on its own represents all Strings