neo4j-browser UX for timeout of cypher requests

Adds a promise based timeout to monitor long-running requests. User will be notified that a request has timed-out, then given the option to abort, continue for another interval (as specified by settings.maxExecutionTime) or to wait forever.