feat(ngAttr): Conditional attribute directive.

Based on ngClass, this directive allows for attributes to be conditionally
applied to an element. It also supports attributes with interpolated values.

1. Simple case: `ng-attr="{checked: isChecked}"`
   - The `checked` attribute is added (with no value) when isChecked is truthy,
     and removed when isChecked is falsy.

2. With values: `ng-attr="'data-whatever={{value}}'"`
   - data-whatever has the value of `value` from scope

3. Set of attributes with interpolated values: `ng-attr="['attr1={{a}}', 'attr2={{b()}}']"`
   - Space separation isn't quite enough, but this still allows for some interesting stuff.

4. Conditional attributes with values: `ng-attr="{'data-whatever=shmee': showWhatever&&!flurp()}"`
   - Conditionally applies attributes with values, where the values may be interpolated.