Profiler API

Realisation of Profiler agent.
Implemented:
Profiler.enable
Profiler.disable
Profiler.star
Profiler.stop
Profiler.getProfileHeaders
Profiler.getCPUProfile
Profiler.removeProfile
Profiler.clearProfiles
Profiler.addProfileHeader
Profiler.setRecordingProfile
Profiler.resetProfiles

Related: #185
It's better to let Mocha handle unexpected errors, that way a stack trace and other useful info is printed.

```js
profilerAgent.start({}, function(error, result){
  if (err) return done(err);
  // ...
```

Please use the same pattern in all test cases below.