implemented BatteShip class
used c++11 smart pointers to manage resources
make a own position class instead of std::pair(), because it's not clear that pair.first() is the x or the y coordinate