fixes #6820 - apipie-bindings should enforce required params, BZ 1116803

- [x] validation of nested routes
- [x] do not rely on `gettext`
- [ ] tests!
Or real data would be more explanatory:
Command line was `hammer -c ~/.hammer/dev.yml -d os create --name iOS`,
the three debugs are `required_params_tree`, `params_tree(params)`, `missing_params`

```
[DEBUG 2014-08-04 16:13:21 API] [
    [0] {
        "operatingsystem" => [
            [0] "name",
            [1] "major"
        ]
    }
]
[DEBUG 2014-08-04 16:13:21 API] [
    [0] {
        "operatingsystem" => [
            [0] "name"
        ]
    }
]
[DEBUG 2014-08-04 16:13:21 API] [
    [0] {
        "operatingsystem" => [
            [0] "name",
            [1] "major"
        ]
    }
]
```