Return proper error message when network conflicts

Fixes bug 1158075
When creating a network which is already existing, we got
an internal server error which can't show the error reason.
This patch returns conflict error(HTTP 409) instead of
internal server error(HTTP 500), so that users can know
the error reason from the error message.

Change-Id: I9e39a7152e37756b34b1c8d77de057012743f0f7
(cherry picked from commit 8a80c4c0968a9deceaa6d99629c6d7f7889769e5)
Merge "Return proper error message when network conflicts" into stable/grizzly