Get insert working
improve ivar_scan/1 implementation
allow using [] instead of calling getattr()

This lets us use the easier syntax of

update(HashDict.new(age: row["age"] |> add(1)))

instead of

update(HashDict.new(age: row |> getattr("age") |> add(1)))

Added support for atoms such as row[:age] for better consistency with how elixir is used.
Fixed expr() when dealing with :terms and :term_assocpairs
add get_all, between, update, replace, and delete