rename R.size and handle null/undefined argument

I suggest we remove this function: `R.prop('length')` is short and wonderfully explicit.

If we decide to keep this function it should be named `R.length` rather than `R.size`. I'd expect `R.size({})` to return 1 rather than undefined. `R.length` is clearer. `R.prop('length')` is best of all. ;)

For consistency with `R.isEmpty` we should handle a null/undefined argument.

i can't believe I am suggesting this, but just for discussion's sake:

```javascript
var len = Object(val).length;
return is(Number, len) ? len : NaN;
```

?
is(Number)