Create a new buffer if the current one if !&modifiable

Fixes the following error when using `:QTInit` in a non-writable buffer:

    Error detected while processing function QTInit:
    line   13:
    line   14:
    E21: Cannot make changes, 'modifiable' is off
    E21: Cannot make changes, 'modifiable' is off
Fix s:version for new_task_list

`s:version` is not used in the ftplugin - remove it there.
Add boilerplate for ftplugins

This prevents the file from being sourced multiple times.

This is good for performance and fixes possible errors because of the
`<unique` maps. This happened to me after an initial `:QTInit`.
Append to b:undo_ftplugin
Use b:quicktask_did_mappings to prevent mapping errors
Use `<buffer>` for mappings
Use `augroup` and `au!` around `autocmd` setup