652: ASG refactor r=collinc97 a=Protryon
## Motivation
This PR makes the ASG more user friendly by using arenas instead of RefCell/Arc:
1. Impossible to leak the ASG by creating a circular strong reference chain
2. We don't need RefCell's everywhere to implement passes
663: Bug 625/fix negative fields not allowed r=collinc97 a=gluax
Resolves#625. Logic used to do so is in check if first character of string to convert is a negative sign. If so remove first character convert from string to field, and then negate it on the leo side. If first character wasn't a negative sign, do the same as before.
Co-authored-by: Protryon <max.bruce12@gmail.com>
Co-authored-by: gluax <jonathan.t.pavlik@gmail.com>
Co-authored-by: gluax <16431709+gluax@users.noreply.github.com>
641: Bug/564 input array len not enforced r=collinc97 a=gluax
Resolves#564, depends on #563. The changes for this branch have pulled from PR #638, which is the PR that fixes#563.
Co-authored-by: gluaxspeed <jonathan.t.pavlik@gmail.com>
638: bug/563-array-input-wrong-dimensions r=collinc97 a=gluax
Closes#563. Fixes the array dimension builder when coming from the input file. Adds a test for it as well.
Co-authored-by: gluaxspeed <jonathan.t.pavlik@gmail.com>
633: duplicate name context test r=collinc97 a=gluax
Adding a test for duplicate name context that was resolved in #546.
634: fn call array params r=collinc97 a=gluax
Adding a test for bug #522, which was resolved by the asg.
Closes#522
Co-authored-by: gluaxspeed <jonathan.t.pavlik@gmail.com>