Allow matchers to be called without an item

This pull request introduces an extra option to the event matchers called 'hasItem', allowing event matchers which don't need the 'item' argument (such as Ctrl-A and Home/End) to be called when there is no focused item.

It also introduces new event handlers in single- and multi-select mode for up/down and left/right - depending on direction - which select the first item if there is no focused item.

Tests for the new behaviour are in place as well.

This for now supersedes https://github.com/bramstein/knockout.selection/issues/82. That issue might still be interesting to look at, but at the moment I don't have a direct use case for it.