Merge method must keep array dimension

Bug: 17462619
Change-Id: I0c4adfc7b7dc2df80a247f5d74c3873d698f4d81
Add multi catches support

- Avoid to add several ids for the same handler into the current catch list.
- Add all caught types into a catch block
- Set the common type of multi catches block to Throwable. This type will be
cast to a more precise type when it will be used.

Bug: 17387653

Change-Id: Ifa31715565b7a78edf39f6572792bad3d6d9d04c