API: Implement buffer_{get,set}_option
API: Implement buffer_{get,set}_name
API: Implement `buffer_insert`
API: Implement `buffer_is_valid`
API: Implement `buffer_get_mark`
Add new files to clint and fix reported errors
API: Implement `window_get_buffer`
API: Implement window_{get,set}_cursor
API: Implement window_{get,set}_{height,width}
API: Implement window_{get,set}_var
API: Implement window_{get,set}_option
API: Implement window_get_position
API: Implement window_is_valid
API: Implement tabpage_{get,set}_var
API: Implement tabpage_get_window
API: Implement tabpage_is_valid
API: Implement tabpage_get_window_count
API: Refactor vim_{get,set}_var

- Change in dict_set_value: Passing 'nil' as value will delete the
  variable.
- Change in dict_get_value: Removed 'pop' parameter, now values can be popped
  by passing 'nil' to dict_set_value
- Update {buffer,window,tabpage}_get_var to reflect the changes
API: Implement vim_get_vvar
Use platform check for correct selection of khash type in helpers.c