Add developer guide to documentation

Currently, this includes documentation for types, scalar functions, and
aggregation functions
I know we've been calling these "stack types", but I don't think that's a term that means anything to people unfamiliar with Presto's compiler internals. I think it'd be better to call them something like "native encoding", "internal encoding", "internal type", etc