Silly cosmetic tweak to docblock opening line
Modified API for loading and saving ordinary data into a byte stream.

The original implementation allowed loading and saving from "strings" or from
"data", and the semantics differed between these. Strings were particularly
odd, allowing all values < 127 to be loaded but only allowing printable
characters no be saved.

This twisted API was to try and minimise casts in client code - BSbytes are
unsigned chars but most C strings are passed around as chars. Ultimately this
doesn't make much difference - it all means the same to the CPU anyway.

This commit removes the following functions:
 - bs_load_string
 - bs_save_string
 - bs_load_data
 - bs_save_data

... and adds:
 - bs_load(BS *bs, const BSbyte *data, size_t length)
 - bs_save(const BS *bs, BSbyte **data, size_t *length)

Client code should expect BSbytes, and cast appropriately if they need to.

The following files are changed:
 - include/bs.h (modified API)
 - src/bs.c (new functions)
 - src/bs_string.c (no longer needed)
 - tests/bs.c (new tests)
 - tests/bs_string.c (no longer needed)
 - tests/bs_filter.c (uses bs_load_data to load in testcase)
 - Makefile.am (remove reference to bs_string tests)
Added a quick way for clients to set the internal BS buffer

Loading means a loop to copy bytes across. If clients don't need their buffer
again then they can use bs_set_buffer to hand it over to the bytestream.