Dashboard widget cleanup

Call widget cleanup when a widget is removed from the dashboard
Add appropriate cleanup methods in all widgets
Add low level functionality to efficiently get share usage for all shares of a
given pool.
Improve the share usage model. Remove the free field from storageadmin share
model and create a new share usage model in smart manager to keep track of
usage over time, similar to pools usage.
Combine usage gathering of pools and shares in smart manager to efficiently
gather required usage information.
Update share API to remove free attribute. There is no need to compute share
usage information during post and put as smart manager collects them
separately.
Update the webui to compute the share usage information according to the new
backend api updates.
Widget cleanup

Pass widget name to parentView removeWidget
Merge pull request #169 from schakrava/issue#161

Issue#161
Merge pull request #170 from sujeetsr/issue#152_widget_cleanup

Issue#152 widget cleanup