* refactor: moved/simplified snippets into its own file with tests
* refactor: move snippet to taskfile package
* feat: support snippets with line/col = 0
* feat: functional options for snippets
* feat: added option to hide snippet indicators
* feat: store raw lines for length calculations
* feat: add debug function for TaskfileDecodeError
* fix: decode errors from commands
* fix: schema for defer cmd calls
* fix: linting issues
* refactor: split var and vars into different files like other structures
* feat: remote taskfiles over http
* feat: allow insecure connections when --insecure flag is provided
* feat: better error handling for fetch errors
* fix: ensure cache directory always exists
* fix: setup logger before everything else
* feat: put remote taskfiles behind an experiment
* feat: --download and --offline flags for remote taskfiles
* feat: node.Read accepts a context
* feat: experiment docs
* chore: changelog
* chore: remove unused optional param from Node interface
* chore: tidy up and generalise NewNode function
* fix: use sha256 in remote checksum
* feat: --download by itself will not run a task
* feat: custom error if remote taskfiles experiment is not enabled
* refactor: BaseNode functional options and simplified FileNode
* fix: use hex encoding for checksum instead of b64