cm_requestClient could use a *counter* instead of storing each id

Incrementing the counter (and getting the new value) needs to be an atomic operation.
If you split up the query in two like this:
```php
self::exec('UPDATE ' . $client->quoteIdentifier($table) . ' SET ' . $client->quoteIdentifier($column) . ' = LAST_INSERT_ID(' . $client->quoteIdentifier($column) . ' + 1)');
$result = self::exec('SELECT LAST_INSERT_ID() AS ' . $client->quoteIdentifier($column));
```
you're still using the same PDO connection (apart from the very special case where the connection is lost). If I understand the docs correctly (but I'm not absolutely sure about that), concurrent requests incrementing the counter between both queries should not affect the `LAST_INSERT_ID()` returned by the second query, which is being stored independently for every PDO connection. The "magic" is not about sending both statements in one query, it is about the way the MySQL server is storing the `LAST_INSERT_ID()` you've set with `LAST_INSERT_ID(expr)` – per *connection* and not globally. If I'm right – @njam, @tomaszdurka, @kris-lab could you please confirm/infirm? – you could split up the query as suggested, it would make it more understandable for everyone.