Add type annotations for ArrayPatterns and ObjectPatterns.

See the test for examples.

Should I initialize the typeAnnotation to `null` or `undefined` for all ObjectPatterns and ArrayPatterns? I didn't initially since it was a pain to update all the test cases (is there any good way to re-record a whole test fixture? All I found was  tools/generate-test-fixture.js
Yeah, that's the plan eventually, but it's not in yet.