CRM-12556 - api/v3 - Identify contacts by user name

Per IRC discussion, this addresses http://issues.civicrm.org/jira/browse/CRM-12556 by introducing an API feature that translates an expression "@user:admin" to a contact ID. This seemed like a useful generalization of the problem from CRM-12556.

@eileenmcnaughton , can you review? If we do this, it would be nice (but not critical) to support in Joomla/WordPress. (ping: @lcdservices @christianwach). I think there's a stronger use-case in Drupal (where it's common for constituents to signup for user accounts) -- but I'm less sure about the others.

Note: I would really like a unit-test for this, but our api test suite cannot currently mock the CMS.

Aside: For my needs in CRM-12556, it's sufficient to do https://github.com/civicrm/civicrm-drupal/pull/18