Modifications to gitignore
Cleanup countmoves, countbits, and lastbit implementation.

- Easy to compare performance between implementations.
- Easier to test (caught a bug in countmoves32).
- Fewer flags.
Use gnu99 and fix all the compiler warnings
Handle cppflags a little simpler.
Clean up the move_gen functions.

Update them to a newer C style and don't use global data.
Improved make system
Minor tidying