Fixed various failing tests

This PR includes various test fixes and in different modules.

- Fixed: `test_negative_update_activation_key_3`: Now save button remains disabled when we update content-host limit with invalid value. So updated the `update` fn and test accordingly
- Fixed: `test_positive_update_activation_key_3`: updated locator to locate the updated env
- Fixed: `4 architecture tests`
- Fixed: `test_remove_filter`: when we remove filter, UI doesn't raise success notification, so added a `search_filter` function to assert whether the filter was removed or not.
- Fixed `test_positive_create_os` test: this test was failing due to bz 1120568, but as per dev, its working as per design. so made changes in test to fix it, ( when we create OS with description, name column dislays description)
- Fixed: `test_positive_update_general_param_5` ( Found a typo for valid_type)
Above, I see you create the `os_name` variable. However, this block of code still contains quite a few references to `test_data['os_name']`. Wouldn't it make sense to use the one or the other consistently? In the simplest case, you could drop the var and write this:

```python
os_names=[test_data['os_name']]
```