Add duplicate node counter functionality and tests (#508)
* Add node counter tests * CI fixes * Add comments * Remove unnecessary test * Add duplicate node functionality and tests * Remove incrementation for DictOfNamedArrays and update tests * Edit tests to account for not counting DictOfNamedArrays * Fix CI tests * Fix comments * Clarify wording and clean up * Move `get_node_multiplicities` to its own mapper * Add autofunction * Linting * Add Dict typedef and format * Format further * Fix CI errors * Fix wording * Implement new DAG generator with guaranteed duplicates * Apply suggestions from code review Co-authored-by: Matt Smith <mjsmith1@gmail.com> * Ruff fixes * remove prints * Apply suggestions from code review Co-authored-by: Andreas Klöckner <inform@tiker.net> * Add explicit bool for count_duplicates * Update test/testlib.py Co-authored-by: Andreas Klöckner <inform@tiker.net> * Seed random --------- Co-authored-by: Matt Smith <mjsmith1@gmail.com> Co-authored-by: Andreas Klöckner <inform@tiker.net> Co-authored-by: Matt Smith <mjsmith6@illinois.edu>