Build SampledProfile protocol buffer message incrementally

This completes the task to remove the current memory-inefficient execution
profile representation by StackSamplingProfiler::CallStackProfile.

This change also leads to the following structural changes:
1) The intermediate representation of a call stack profile --
   StackSamplingProfiler::CallStackProfile is retired.
2) Module/Frame/Sample structs are moved from the StackSamplingProfiler
   class to the CallStackProfileBuilder class as now they are only used by
   the latter one.
3) Methods in call_stack_profile_proto_encoder.h are moved to
   stack_sampling_profiler.cc as now they are only used there.

Bug: 851163, 804942
Change-Id: Ief07693499a2eb9af216d0ec71b9daf38645ecba
Reviewed-on: https://chromium-review.googlesource.com/1171866
Reviewed-by: Mike Wittman <wittman@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Xi Cheng <chengx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582937}
15 files changed