Improve compiler error message for some catalog expressions.
Improve compiler error message for some catalog expressions.

The grammar was allowing for backtracking when a name was successfully
matched in resource attributes, like so:

```
file { '/foo':
  foo bar
}
```

Previously, the compiler would point at "foo" saying that a "}" was
expected.  Now the compiler points at "bar" and says an attribute operator
is expected.

This simply changes the grammar such that if a name is matched where
resource attributes are expected, a resource attribute operator must
follow the name expression.

iankronquist/puppetcpp,peterhuene/puppetcpp