Parse review comments to get results of external CI

It's assumed that CI was executed on the review if comment message is left and:
 a) message satisfies success and failure patterns (if they exist)
or
 b) vote is set

Thus the process supports case when CI votes on review and non-voting CIs that
just leave messages. However it is required that CI leaves a comment.

Note: the schema is updated to support CI definitions like these:
            "ci": {
                "id": "cisco_neutron_ci",
                "success_pattern": "neutron_zuul \\S+ : SUCCESS",
                "failure_pattern": "neutron_zuul \\S+ : FAILURE"
            }

Closes bug 1317554

Change-Id: Ia73ab70fd633b2278a3d5d3f1ba67d3018370e4b