Big refactoring: abstracted the concept of secret sharing and secret sharing policy and tried to define Shamir Secret Sharing and Policy in terms of it. Also changed SharePair to ShareTuple (effectively a triple). Code compiles, but no tests have been tried yet.