Fixes #381

Truncate ts data such that only max_records are present after periodic
cleanup. Cleanup can be done independently of the number of records and when
the high water mark(max * 5) is exceeded, cleanup should be triggered.
Make smd termination, both voluntary and involuntary robust and clean.
Remove deprecated process_model_queue
Cleanup imports in smd
Change service status model to include a count and increment the count with
updated ts when there's no change in status of the service from the previous update.
Don't insert new status row for a service if the status has not changed
since the prev check. Do create new rows when rockstor starts and when the
status changes. At other times, just update the ts and count.
change pool usage model to include count.
Improve pool usage collection to add a new row only when there's a change in
usage value.
update share usage model to include count
Improve share usage collection to add a row only when usage gets updated.
Change software update check frequency to every two hours
Make task list and replica task list gathering a retryable error in case there
are db issues.
Remove excess logging.
Refactor DatabaseError exception handling
sleep amount calculation should be done in finally for accuracy.
Merge pull request #388 from schakrava/issue#381_service_page

Issue#381 service page