Fix for #147

I've updated the format value functions to allow a 0 value to be bound to inputs. I also updated a test in test-form to cover the case, and re-included this file in test-browser. (I guess you may want to un-include this from test-browser again)

Hopefully this PR includes only the correct files!
The tests are failing because previously, a falsy value would return `null` - now you're returning a String.

This should probably be `value || value === 0 ? value : null;` or, even better:
```js
if (value || value === 0) {
  return value;
}
```

This makes tests (almost) pass for me - there's a number of tests that are checking for `null` explicitly, that should instead test for `undefined`.