Automation for testing items per page as per view settings

Test items per page for grid,tile and list view
The way this class behaves is a little confusing. I have some suggestions that might help.

- The attributes representing the dropdown values should probably be renamed to prevent confusion with the `item_form` locators, e.g. `grid_view_limit`.
- The `updatesettings` method should probably go away, and take advantage of the functionality that [Updateable](http://cfme-tests.readthedocs.org/modules/utils/utils.update.html) provides, allowing users (including `Visual` itself) to `with visual_settings_object:` when they want to safely update these values.
- The values passed to `__init__` are only used in `updatesettings`, and this class provides no way to easily read the values of the `*_view` dropdowns. One solution (taking the previous comment into account) is to make these `@property` methods to read the values, and instead of taking the setter arguments in `__init__`, take them in `update`

Here's an example of one of the property getters and settings (normal disclaimer that it's untested and might be crazy):
```python
class Visual(Updateable):
    # ... fields go here ...
    @property
    def grid_view_limit(self):
        return int(sel.text(self.item_form.grid_view))

    @grid_view_limit.setter
    def grid_view_limit(self, value):
        sel.force_navigate("my_settings_visual")
        fill(self.item_form, self, 'grid_view': value})
        # optionally assert sel.text(self.item_form.grid_view) == value
```

My fill syntax might be a little, but fill definitely understands how to fill forms with `Updateable` objects and we should take advantage of that.