can.sub fix remove param. Allow only to remove properties + tests

Fix can.sub remove param.

Because now the remove param propagate into can.getObject as undefined or negate of given value you will get this weird behaviour when pass anything else than undefined or true into remove param.

```javascript
obj = {}
can.sub("{a}", obj, false) // -> [{}, ""]
obj // -> {a: {}}
```

This will trigger adding functionality inside can.getObject