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
Modify Setup so that user creation can happen before login

Modify login mechanism so that it is within the backbone routes instead
of a standalone page
Add login template
Use login api to login
Make navbar dynamic so that appropriate links are shown and refresh it
after login
Create a smart probe to collect user/group information for nfs calls. For each
nfs call, save share, client ip, uid and gid along with count and
sum information.
User setup

Add setup model and migration to store status of setup process
Modify base.html to return status of user setup
Remove user creation from prep_db
Modify login.js to display login screen if user is setup, and user
creation screen if not
Add setup_user view to create user on the backend, and code in login.js
to create a user and login
User setup

Add new files for setup model and migration
Modify create user screen to match setup screens
User setup

Display error msg on incorrect login
Show appliance name only after login
Merge pull request #171 from schakrava/isssue#117

Fixes issue #117
User setup

Remove system step from setup wizard
Merge branch 'master' into sujeetsr-issue#167_setup_user_nologin
User setup

Add validation for required fields and password confirmation
Merge branch 'issue#167_setup_user_nologin' of git://github.com/sujeetsr/rockstor-core into sujeetsr-issue#167_setup_user_nologin
Make setup user view a subclass of user view. send detail as a dictionary
instead of a string with the field name that is the problem, eg: username,
password etc..