Refactor system dataset code

- While creating the system dataset a symlink is left behind, currently
  /var/db/system which points the the dataset
- All shell scripts now check for the existence and health of that said
  symlink to determine whether or not use a system dataset
- All central code has been moved to the middleware
- collectd is now _not_ restarted everytime a dataset is created for the
  system dataset, thus reducing the time
- Stop collectd before destroying a volume if its being used as the
  storage for rrd files
- Fix symlinks after a volume being used as system dataset is destroyed

Ticket:	#5131