Improved error handling for namespaced property bindings

A binding with a qualified name that starts with a name space, must be followed
by a type. For example

    MyNamespace.someThing.foo: 100

is not valid, something must be a valid type name and therefore start with an
upper case letter. Similarly an object declaration like this:

    MyNamespace.something {
        ...
    }

is not valid neither. The current compiler reported the latter as "Expected type"
and the former as "Invalid attached property name". The message for the latter
is not very good, because we know that "MyNamespace" is a namespace and therefore
"something" cannot be a attached property name, it must be the attached property
type first.

In the new compiler this hits the same code path and thus the same error message.
So this patch introduces the correct error message in the new compiler, adjusts
it for attached properties in the old one and adjusts the test that now passes
with both.

Change-Id: I51c265a2acb80079c1dd62ef5ef77d5ff07d3ac1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>