Add test cases for explicitly-bidirectional pattern synonym
Refactor PatSynBind so that we can pass around PSBs instead of several arguments