Define Board#getNextWorstPiece

* Return square piece when row has only one empty spot - still hardcoded
Define Board#getPieceScore

* Score of a piece is defined by the maximum height of the board after
the piece cannot fall anymore in its best position (minimum height)
Set the next falling piece to be one of the worst possible pieces

* #getNextWorstPieces returns an array with all possible worst pieces
given the board current status
* Update getPieceScore to take rotations into consideration
Fix tests

* Score of the Stick is 1 as its rotations are tested now
* Worst piece when only one spot is empty is the square, not the L
fix typo
Make text of tests smaller
Define Board#getMaxTakenHeight to separate logic from #getNextWorstPieces
Refactor tests to remove hardcoded board height, use #getHeight instead
Refactor Board#getPieceScore to use Board#getMaxTakenHeight

* Remove board parameter from #getMaxTakenHeight - just use "this"
Remove unused variable theL
Board#setDifficulty defines diffculty property in Board obj
Do not allow negative difficulties
Difficulty is always between 0 and 100 - they'll represent percentages
Define Board#getDifficulty to return difficulty property

* Difficulty represents a percentage
* Board starts with difficulty of 20%
Add tests for Board#triggerNextPiece as it'll start to take difficulty into consideration

* Expect a new falling piece (different object)
* Exoect falling position to be reset
Trigger worst piece based on the set difficulty

* Worst piece triggers more frequently as difficulty increases
Prevent default after moving piece so browser wont scroll when playing
Merge pull request #6 from brunops/return-worst-piece

Return worst piece