Added find_prev_clear_bit(); fixed indentation

Hi ckiick,

I've made some changes. If you look over them then merge into your branch. That should update the pull request into my repo. Then I can merge into master.

Thank you for these great improvements,
Isaac

----
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.

Update: I'm actually rethinking point 9. I think it would be useful to have resizing behaviour on set, toggle and assign methods. I'm not sure it makes sense on get(). Thoughts?