Extracts computed property set into a separate function

This is done to work around V8 (it cannot optimize functions with try
blocks).

Some comparisons from a real app:

`defineProperty`

Before:
![defineproperty
deopt](https://cloud.githubusercontent.com/assets/1131196/4164553/ad42a504-34f6-11e4-92cc-fdf17e88cc22.png)

After:
![defineproperty
cp-set](https://cloud.githubusercontent.com/assets/1131196/4164559/bf012a86-34f6-11e4-9bba-e5b2dc378946.png)

`watchKey`

Before:
![watch - key
deopt](https://cloud.githubusercontent.com/assets/1131196/4164570/e518cc88-34f6-11e4-9d66-97901a75161e.png)

After:
![watch-key -
cp-set](https://cloud.githubusercontent.com/assets/1131196/4164573/ec00d28e-34f6-11e4-8798-222b1ee985bf.png)