Rationalize the Assignment Grant Tables

Currently there are four different tables in the assignment sql
backend, one for each type of grant.  This leads to significantly
more complex code.

This patch rationalizes these four tables into a single Assignment
table, with the minimal of rework to calling functions of the
sql backend.  A subsequent patch will improve efficiency of the
calling code by taking advantage of a single Assignment table.

Blueprint: role-assignments-unified-sql

Change-Id: I7e604d718b29ad28b4d59458c7a528c01ff9804d