begin the removal of the api module by moving common struct types to types.jl
refactor a bit and add comments
refactor oid to be an immutable type, reflecting the underlying C struct
add oid constructor for sha1 types
add additional test for default constructor
changes to make object test pass again after oid type change
changes to make blob test pass again after oid type change
move blob related code out of repository.jl
changes to make diff test pass again after oid type change
commit initial progress working through refactoring index
define a convert() method instead using pointer() in blob ccalls
overhaul of index internals, rounding issues in timestamps still causing one test to fail
revert homogeneous string type assumption for index update methods
throw bounds error for invalid idx into GitIndex
add note to get rid of IndexEntry alias
rename to GitIndexEntry in index tests
complete rename to GitIndexEntry
replace hacky GitStrArray with StrArrayStruct in index
add note about StrArrayStruct usage
rename for consistency