Added test for case where chain is broken vertically
Refactored - changed name of function that checks for unbroken chains
Refactored out product checking to an anonymous Dfn
Refactored - extract method on check if chain is unbroken
Renamed tests with better names
Added legal matrix split pattern - WOOTB
Refactoring - similar level of abstraction and method extraction
Refactoring - renamed check function to is_chain_unbroken
Refactoring - APL code golfing - removing a double call by using each
Added test for illegal pattern where the same letter occurs in multiple rows - but
starting at row i - we find it at column x, and at row i+1 we find the same letter
in a column x-y : y ≥ 1
Refactoring - boolean expression as Anonymous Dfun and renaming