init implementation and tests

Had a real world situation where I wanted all elements of a list except the last one.

In Haskell, the four usual suspects are `head`, `tail`, `init`, and `last`.

Could find `head`, `tail`, and `last` but no init implementation? It is possible it comes under a different name but I couldn't find it.  Also, lodash does have an initial function which is sort of haskell `init` on steroids.

So I am tentatively raising this PR without any expectations, but hopes such a function already exists if declined. Would rather not have to compose this one all the time. :)

My only concern over the proposed implementation was what to do about the case where an empty array is passed in. Am assuming here that returning an empty array is ok. This seems consistent with `tail` etc.


Gotcha. Sorry guys, i thought we never internally referenced the R object, and since _slice already existed, didn't consider another alias. Ok, so now I understand the convention and difference between the underscore variety of function and no underscore. So no underscore means it is an identical reference copy of the R object variable. Whereas the underscore variety means it is some internal thing that like forms part of lots of aggregate tasks. Will update now !