[RFC] vim-patch:7.4.242 + vim-patch:7.4.243

> Problem:    getreg() does not distinguish between a NL used for a line break and a NL used for a NUL character.
> Solution:   Add another argument to return a list. (ZyX)

https://code.google.com/p/vim/source/detail?r=v7-4-242

Differences:
* Instead of using `define`d CONSTANTS for the flags, I used an enum with kConstants as per our style guide.
* Defined in `ops.h` instead of `vim.h`.
* `getreg_wrap_one` seems inconsistent with the other functions in `ops.c`, so I renamed it `get_reg_wrap_one`.
* Doxygen style commenting.
* Omitted the test, but added an equivalent vroom test in the next commit.

Also, it seemed like maybe `get_reg_contents` should return a `void *` instead of a `char_u *` that is actually a `list_T *` when requested, but I made that change separate from the patch.
> Actually, it would just return 1

Haha, yea of course! Wrote that just after waking up is what I tell myself :).

> but I think asserting that c > 0 makes more sense.

Alright. It doesn't seem hugely important but then we need to make sure that a user can't somehow pass in a `NUL` to search for somehow. I.e.: `strcnt` is never called with user-defined parameters.