Implement flooring division by a constant via truncating division by a constant.

R=bmeurer@chromium.org

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

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

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make PreParser track valid left hand sides.

Notes:
- This makes PreParser produce invalid_lhs_in_assignment and
invalid_lhs_in_prefix_op. Other errors will follow as the corresponding funcs
move to ParserBase.
- PreParserExpression::IsStrictFunction and StrictFunction() are not needed any
more -> removed them.

R=rossberg@chromium.org
BUG=

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

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