Improved BowlingFrame state calculation algorithm

Also improved tests and added some more edge case tests.
Removed unused code. Code coverage is now 100%