Rearrange the template parameters
Implemented capture sliding move fill algorithms

This completes work begun in commit 83e2ca1606214446075bef862dcb00fb9e481960.

Removed the individual ray functions to reduce branching in the queen,
rook, and bishop fill algorithm functions. Doing so also removed the
need to create a separate attack function for each ray.

All of the fill algorithm code is generated at compile time using a
mixin and CTFE. Therefore function application only occurs at the top
level of the bitboard API for move generation.