Fix fixed_ip_count_by_project in DB API

Fix "by project" filtering in fixed_ip_count_by_project
method of SQLAlchemy DB API implementation.

Fixes: bug #1171161
Change-Id: Id408aba6db4dd953945feba36d17b056266ca4b7
Refactor _run_instance() to unify control flow

_run_instance() had multiple points where various classes of errors
were handled.  This patch classifies the possible error/exit conditions
into the following categories:

* success
* rescheduled - an error occurred, but the build will be returned to
scheduled for another attempt.
* aborted - build was aborted for a non-error.  (e.x. instace was
deleted during spawn)
* fatal - general case of uncaught exceptions resulting in the instance
going to error.

blueprint create-error-notification

Change-Id: I3f01753bde8af0750ba9067c8a98ded45d5a0eb7
Merge "Fix fixed_ip_count_by_project in DB API"
Merge "Refactor _run_instance() to unify control flow"