Add Instance.get_by_id() query method

This adds the ability to fetch instances by id (instead of just
by uuid). In order to do that, the following additional changes
were made:

1. Refactor the get_by_uuid() method to share more code, and
   also fix its use of a kwarg as a positional one
2. Add columns_to_join as a parameter to db.instance_get()

Note that #1 above required a bunch of trivial changes to the
existing instance tests for the new calling mechanism.

Related to blueprint unified-object-model

Change-Id: I83eb55c363062a3506c7f5dfa161d8072865f11d
Merge "Add Instance.get_by_id() query method"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp