Split Bare into multiple modules, refactor

TODO: Write up proper commit message.
Use a digraph to detect cyclic RefType aliases

TODO: Write up a good commit message.
Order alias expansion by reverse topological sort

TODO: Write up a good commmit message.
Remove RTBareOrSpec

TODO: Write up a good commit message.
FIX: Move tests/neg/CyclicAlias.hs -> tests/crash/