Feat/selectable

```selectable``` option now factors in to the result of CanSelect. If onCanSelectNode is used, ```selectable and onCanSelectNode(node)``` determines result, as was detailed in the doc.

Had to change default value of ```selectable``` from ```false``` to ```true``` so the default behavior in existing implementations would not be changed.