Use real exceptions for network create and destroy

In order to provide reasonable error messages to the user, we
need real exceptions instead of a bunch of random value Errors.

Partially-implements blueprint better-support-for-multiple-networks

Change-Id: Id725afbdde40cba879608d15de9aa2753a256d10
Merge "Use real exceptions for network create and destroy"