Integrate move constructor changes in commit 2c7b71a87b6e1857730e19613a68371a1925a19d.

Was able to further reduce the enpassant creation function.
The enpassant target square can be read from the board for the
destination square. Additionally, the source piece does not need
to be provided as it can trivially be calculated from the source
square.