Improve typespecs when formatted as strings
Ensure we have a project before popping the stack
fix for issue #1896

If the enumerable is an even multiple of the counter (n) and an explicit
pad is given, you get an extra element.

Enum.chunks([1,2,3], 3)
iex> [[1,2,3]]
as expected, but

Enum.chunks([1,2,3], 3, 3, [""])
iex> [[1,2,3],[""]]
as not expected
Merge pull request #1897 from gvaughn/chunks_fix

fix for issue #1896
Add List.update_at/3
Add typespecs to List