Added find_prev_clear_bit(); fixed indentation

1. fixed indentation - BitArray only uses spaces not tabs
2. added *.a *.o to .gitignore
3. added bit_array_find_prev_clear_bit() bit_array_find_last_clear_bit()
4. added tests for find clear bit functions
5. moved bartest.c method into bit_array_test.c
6. added AUTHORS file
7. Changed behaviour of copy_all to act like strcpy, i.e. terminates after copy
   So copy_all(dst,src) will set dst->num_of_bits = src->num_of_bits
8. I re-wrote the save/load so it is always written little-endian. I can't check
   this as I don't have access to a big-endian machine. Should work...

9. I've removed extending array size if get/set/toggle/assign bit outside range.
   This is because there is currently a check and error if index is outside of
   bounds. Bounds checking can be a useful error detection method. This would
   change the behaviour of the API. I'm happy to add new functions to do this.
   Unless you can change my mind, and as long as people aren't relying on the
   bounds checking for peace of mind.
Removed MACRO wrappers; Added assert(); Auto-resize get/set/etc.

1. Removed MACRO wrappers for all functions - they were too messy
2. All bounds checking is done with assert() calls, can be turned off with NDEBUG=1
3. Added auto-resizing get/set/clear/toggle/assign functions
Merge branch 'master' into ckiick