Introduce Type::Intersect function

Also, fix bugs in Type::Union and Type::Maybe.

(This subsumes the in-flight fix for Union in https://codereview.chromium.org/16925008/, including test cases).

R=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
symbols should be in the startup snapshot

R=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge assignment handling for Assignment and CompoundAssignment

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17328005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00