Explicitly cast config types on fakebackend.

Better mimics what happens in the real backend. Also fixes code that expects a 'false' config value to be evaluated as false, which is what was causing the original bug:

https://launchpad.net/bugs/1371789
This might be a little flaky if someone provides a boolean default of "True" in a charm config. This will be a little more resilient:

```JavaScript
config[key] = (value.toLowerCase() === 'true');
```