Generate foreman sdk from api json

- Preserved old interface for methods: index, show, update, destroy
- Preserved plugin's interface
- You can choose to use the cache (files) or try the server first
- Ability to add more version definitions without having to change code

Change-Id: Ia03c48aeea493a9a90cbeeaeebbe478eaec1030c