Issue #97: Update new to return {error, zero_length_key} and clean up unit tests