Return length as integer, and only later convert to string

This makes it easier to reuse the `calculate_size` function.
100% branch coverage on `pydap.client`
Fix lazy dataset evaluation for function calls