Arrow 0.7 - A Quality of Life upgrade

Release 0.7 of Arrow brings a complete quality of life refactor of the library, with new users in mind. Improvements in readability all around, typeclasses are now DSLs, we have replaced most codegen with idiomatic Kotlin, and there is a new metaprogramming module for advanced users. »