use null terminated length indicators for string binding.
tidying up code formatting a bit.
added test for exceptions being thrown correctly.
removed unused cruft from test fixture.
index on master: 46128f0 Merge remote-tracking branch 'upstream/master'
untracked files on master: 46128f0 Merge remote-tracking branch 'upstream/master'
WIP on master: 46128f0 Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge commit 'a897015f61d629dd18a9751bb5a9ca1f5aee578e'