Added HeapProfiler._lookupHeapObjectId

Closes #473

Serializing and caching of logic moved from consoleAgent to injectorServer to be available from heapProfilerAgent.
So what happens when the command fails with error? Is `result.result` still set?

I would like it more if you checked for the presence of `result.result`:

```js
if (command == 'getObjectByHeapObjectId' && result && result.result) {
  // ...
}
```