Add some missing list functions(init,takewhile)

I've found myself reimplementing these two pretty basic functions, I think they should be in the std lib.