Initial implementation of aggregate functions.
Remove unneeded type.
Add simple test for aggregates.

Also put a little TODO reminder.
Fix aggregates on Linux.

No arguments are ever passed to the final function so values was a void pointer
causing sqlite3_value_type to fail. This simply stopped trying to collect args.

Also changed the order of the function definitions to something that made more
sense.
Replace copies with loads.

No measurable speed-up but slightly simplifies the implementation.
Fix TODOs.

Attempt to account for big-endianness.
Don't call sqlserialize unnecessarily.
Try to avoid memory-leaks.
Add test and update README.
Didn't actually add the README in the last commit.
Default the final function in register to identity.

And therefore default the name to the step functions name.

README and tests have also been updated.
Test more complex types.
Use unsafe store instead of copy.

No performance change but reduces bytes allocated by ~5%.
Even fewer bytes allocated.
Fix undefined variable.
Reduce scope of try-statements.

The only unknown is the users function, any other exceptions are bugs in
SQLite.jl and should be fixed not hidden away.
Check malloc and realloc for memory errors.
Merge pull request #54 from quinnj/aggregates