<commit_before>* add async support
* NOTE the folder structure follows jshint dir structure, so dist file is
*   meant to be for any platform (browsers & node).  Keep investigateing the
*   jshint dist function
*  use a modulizer to provide module dependencies on the browser and node
* in the asynctask module, use a single function that captures the call stack
*   and uses the input as the asynt intance to check if has been both called
*   and executed (this aids in DRY pattern and uses the error as advatnage)
*   name it `checkState`.
* have a dep module with Dependency being the constructor and abstracting
*   dependency interaction to a single point such as execute() with task instead
*   of having to check for an fn or task or sequence ...
* TEST in src/Task.js if chaning i to --i in traverseSet() after splicing works
*   as expected, i.e. correctly
* SPEED up _mayExecute() by having own instance flags indicating the lasst
*  update and whether there are any unexecuted asyncs
* TEST for the adde opts param and whatever it affects (unstable for now)
* TEST for index.js<commit_msg>get rid of completed stuff<commit_after>* create an optionally turned on complexity metric
*   i.e. measuring the horizontal (sequence) and vertical (dependencies)
*   
* SPEED up _mayExecute() by having own instance flags indicating the last
*   update (if no change since last update, use that state)
*   use the complexity metrics to turn this on after a taskrunner structure
*   gets too complicated (meanint the _mayExecute()) would way long to check
* TEST the added opts param and whatever it affects (unstable for now)
* TEST index.js
* HUMANIZE signals by logging (if logging option is on) them to a stream
{'fraction_non_alphanumeric': 0.04897959183673469, 'fraction_numerical': 0.0, 'mean_word_length': 4.122388059701493, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1898221', 'n_tokens_mistral': 446, 'n_tokens_neox': 435, 'n_words': 262}