Primitive obsession refactored: replaced coordinates with Position
Support for ships larger than one hole
Support for ship orientation: Horizontal or Vertical
BattleshipPuzzle now takes a Board in constructor
Created Ship class
replaced Ship adding code to use the new Ship class
refactored hit/miss detection
Removed unused method from Board
Moved Position into the Ship
Ship can be sunken
Handling sinking a ship
Handling sinking all ships
Moved orientation into the Ship
Removed unused parameters from AddShip

They were moved into the Ship class
removed default value for Orientation in Ship constructor
Moved ShootAt into the board
Revert "Moved ShootAt into the board"

This reverts commit 606138b79a5539da06012b079a34a794e8ad4265.
Cleanup

uniformized var usage, renamed properties, made readonly what can be
readonly, changed array to dictionary in board
Validating ship positions to fit in the board
Shooting outside the board will throw