updated database API, sqlite and test code to the new spec.
refactored runner API to new spec: task is re-run after runner_retry_timeout or 1000 seconds if runner_retry_count was above one or undefined or disabled if retry count reached zero, always updated, and submitted as background job. database API now contains a field for the very first time of execution for the task, saveTask returns the row identifier on save, update, complete and disableTask -functions return the number of affected rows.