add test of empty string
add main (in solve) with input reading and phony output

make some initial attempts at solving with solvable/unsolvable
filter (empty/unmatched singles) and preparation for backtracking
for all legal click orders