Improve jsexpose body handling

This fixes the unfriendly error message which is returned if no body is provided.

```
{
    "faultstring": "post() takes exactly 2 arguments (1 given)"
}
```

As an alternative, we could return an error when no body is provided, but looking at the code, methods decorated with `jsexpose` which declare `body` argument use `getattr` approach which actually makes the body optional so returning an error would be confusing to the end user since they would need to pass in an empty body to use the default values.