WIP: RFC for a Task API
I'm preparing Nimble v0.11.0 currently. I think a task API is out of scope for this release, but we should make a concerted effort to define one for future releases.

**I will try to flesh out this issue once I finish this release.**

Existing tests: https://github.com/nim-lang/nimble/blob/ca779afb208bfdb4d81567130ae497b4051440c5/tests/nimscript/nimscript.nimble

## Open questions

* Should a ``before build`` hook be called only when `nimble build` is executed or also when `nimble install` builds packages. Should this hook be called for each binary that is built?

## Related issues

* #634
* https://github.com/nim-lang/nimble/issues/605
* #575
* #723