Properly parse the keypair response and workaround issues

The API for keypairs has some anomolies that need to be worked
around:
* When you get a list of keypairs, the response is
  {"keypairs": ["keypair": {data} with an extra "keypair".
  This was a little hard to notice when functionally testing this
  earlier because when you print it out, it looks correct until
  you notice everything is in the "keypair" attribute.
* Filtering on find is broken and so a find method was added to
  manually do the filtering.
* Create needs to populate the private key in the response
  resource object.

Change-Id: Ic2fffc5a48e4270acd2711e7762cc3157a7a71df
Merge "Properly parse the keypair response and workaround issues"