Fail if the new index is out of range.

We were silently truncating, which made an obvious problem
into a non-obvious one.

Bug: http://code.google.com/p/android/issues/detail?id=40409
Change-Id: I15576357c72ac0e98cf85c0a1d289fd5009468f9
Reclaiming attribute obj after pthread_create

call pthread_attr_destroy in order to reclaim attribute object.

Change-Id: I2592903ef67101a7c656a3ab0ad243a9716298b5
Remove possilbe leaks in dalvik.

Add missing free() calls.

Change-Id: Id602b84ba8f15fef1851f37e3d5aac214ac67de1