Replace marking needs as 'out of scope' with 'validation decision' recording

This is the first step in allowing needs to be validated. A newly created need is `proposed`, and this change allows to mark the need as `not valid` with reasons why it's not valid. Subsequent PRs will add the `valid` and `valid with conditions` states.

**Note**: A corresponding Need API is needed, so https://github.com/alphagov/govuk_need_api/pull/80 must be merged first for this PR to work.

![image](https://cloud.githubusercontent.com/assets/23801/5282639/0fbd7886-7b00-11e4-9968-e05627c7eed4.png)
![image](https://cloud.githubusercontent.com/assets/23801/5282659/3acb1f6a-7b00-11e4-8e57-3f9341ae3117.png)
![image](https://cloud.githubusercontent.com/assets/23801/5282674/50f50652-7b00-11e4-87f3-c5d1de6107ef.png)
![image](https://cloud.githubusercontent.com/assets/23801/5229133/4ddb2a1c-770b-11e4-86a9-c17bcafb6640.png)

## Non-JS version

![image](https://cloud.githubusercontent.com/assets/23801/5282744/c24358b8-7b00-11e4-80b7-359665bd2238.png)


If the anonymous function passed into `change` was named it'd make the module a bit easier to read.