Make movement take half the cost of both the beginning and end tiles,
in stead of just taking the cost of the end tile.
Also use combined_movecost() for NPC moves, and path length calculation.
Move monster movecost calculation to its own function for consistency.
Use calc_movecost() for path length estimation.