fix(ngRepeat): support complex assignable aliasAs expressions

Parse aliasAs as an expression, and assert that the expression is assignable.

Just throwing together a quick fix, but I'm not sure this is what we want to do, especially since we
want to change the behaviour of aliasAs to provide more data. /cc @matsko / @shahata / @petebacondarwin

BREAKING CHANGE

Previously, any name passed as an expression would make up a single property
name, including constant values such as 1, NaN, null, undefined, or even
expressions such as function calls or boolean expressions.

Now, more complex expressions are possible, allowing the collection alias to
be assigned as a property of an object --- however, if the expression is not
determined to be assignable, it will throw.

Fixes #8438