Implement --omit, --raw_[context_]file=... for mksnapshot tool.

These switches are analogous to --omit and --raw for js2c.py.
The goal it to allow embedders to externally load all (or generate) the V8 startup data.

There's a bit of gratuitous refactoring with the writing logic that helped me understand the code. Let me know if it's not an improvement.

BUG=355539
LOG=N
R=jochen@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/249283002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge remote-tracking branch 'upstream/bleeding_edge' into bleeding_edge