Bugfix/issue 579 vec to array msg

#### Summary:

revised parser error message for type mismatch and changed order of error checking for variable assignment statements.

### Intended Effect:

the error checking remains the same, but because the checks are carried out in a different order, error message should be less confusing, because dimension mismatch is detected before type mismatch.

#### How to Verify:

added a new test to test/unit/stan/gm/parser_test.cpp and three stan programs to test/test-models/reference that contain variable assignment errors.  test verifies that parser throws an error with the right error message.

#### Side Effects:

none.   no new functionality is added to the Stan language.   valid Stan programs compile and run exactly as before.

#### Documentation:

Documentation is unchanged.

#### Reviewer Suggestions:

no suggestions