added rpc_id_length options parameter and fixed how default parameters can be overridden
added a write_frame function to deal with creating the proper frame instead of relying on the user of this module to do so (kinda defeats the purpose right?).