Change asserts to actual ValueErrors.
Change asserts to actual ValueErrors.

This is because of the following reasons:
	1. asserts are no-ops when python's debug mode is turned off (so we would missing out on these checks then)
	2. The contract of asserts is for the internal state of the program and not to validate inputs.

Thanks to Wojciech for the explanation and pointing this out too.

Ticket: #21331

freenas/py-SMART