Database config page for when config is missing.

Fixes #244.

![image](https://cloud.githubusercontent.com/assets/1657047/3034525/97b069ae-e075-11e3-9448-c8752359808e.png)
![image](https://cloud.githubusercontent.com/assets/1657047/3034557/35032c8c-e076-11e3-8d46-90f5b27086c3.png)

I'm still not sure why you can't simply call `@file_put_contents` here - without using `touch` or `is_writable` at all. Here's my suggestion: Just call `@file_put_contents` and check for success. If the file is not touchable, or if it is not writable, then `file_put_contents` will return `false`. This will simplify the code in this function to just 4 lines.