Added account association to transactions

Broke out all object interdependent functions into separate
'object-interactions' .c and .h files
Minor code cleanup with object initialization
Reimplementation of to_string routine

Updated routine to use a generic conversion routine, which takes a callback
to a type-specific conversion routine. These routines now handle all calls to
routines which allocate/reallocate buffers.
Updated implementation of open_storage

Routine now makes a call to sqlite3_open_v2() rather than
sqlite3_open(). This change allows the DB to be opened with
an exclusive lock.
New sqlite storage engine data types

Created RECORD types to correspond to each object
Updated calls to malloc() and realloc() to call sqlite3_malloc() and sqlite3_realloc()
Full implementation of write_data() routines

Reimplemented write_currency to use new record typ, return id of written object, and create storage_meta object on successful write
Implemented functions to convert each object type to its corresponding record type
Implemented write_transaction() and write_account()