Improve use of exceptions overall

Add a few exception classes and use them. Fixes a few cases of throwing
strings instead of exceptions. Also resolves a slicing issue. Big commit!

Devices are not touched since they are changed dramatically in PNP.

Fixes #15 (though this doesn't include reconfiguration mode, we no longer
use issues to track long-term plans, but rather specific bugs).
trivial: remove an errant semicolon
Merge pull request #213 from scj7t4/exceptions

Improve use of exceptions overall
simserv: fix rtdsadapter endian swap
simserv: drop rtdsadapter nan values before sending to pscad
Merge branch 'master' into PlugNPlay