Fix scalar iloc rebase
 - [x] closes #15686
 - [x] tests added / passed
 - [x] passes ``git diff upstream/master -u -- "*.py" | flake8 --diff``
 - [ ] whatsnew entry

This is just a rebased version of #15778 . I want to make sense of the tests which failed, and which work fine instead on my machine.

Notice that I'm also working on a [more complete approach](https://github.com/pandas-dev/pandas/pull/15778#issuecomment-288380312) to positional indexing, which will obsolete part of this PR, but that's going to take a while (and this PR, besides fixing the bug, is a step in that direction, since it rationalizes a bit positional indexing).