lots of stuff, array iota, adding submodules and utf8 handling

first, goddamn utf8, I admit I tried too much to do stuff by myself but
character handling is complicated. I did manage to get everything working
but only through a series of non portable hacks.

I added gc as a git submodule, I need to figure out how submodules work
a bit better before I use that version in the executable.
I intend to add in readline code as well soon.

I wrote an array iota function(It doesn't really work but I think it's
probably something small) and added array.c to the build requirements.

I also started on a manual, but I haven't written much of it yet because
of the aformentioned goddamn unicode characters.