More fixes for resolve keypath expressions

Hey @Rich-Harris looking good, except for one issue #605. Here's the test:
```js
var ractive = new Ractive({
		el: fixture,
		template: "{{#step}}{{#options}}<input type='radio' name='{{responses[step.name]}}' value='{{.}}'/>{{/}}{{/}}",
		data: {
	        step: {
	            name: 'Products',
	            options: ['1', '2']
	        },
	        responses: {}
	    }
	})
	ractive.set('step', {
	    name: 'Colors',
	    options: ['red', 'blue', 'yellow']
	})

 	expect(3)
 	ractive.findAll('input').forEach(function(input){
	    t.equal( input.name, '{{responses.Colors}}' )
	})
```

The `KeypathExpressionResolver` is returning the correct new values, but the `input name` attribute is never rebinding to the new values. I'll key looking, but if you have any ideas let me know...