V2.0 swift jazzcat merge

!!! DO NOT MERGE SPACE CADET !!!

This pull request is open to review the differences between new jazzcat and old jazzcat.