added arrays support to optimize{}

Currently optimize block doesn't support arrays, as they are treated 'specially' by compiler(they don't have operations themselves and implicit conversion to ArrayOps is used to add operations).
This pull request adds rewrite rules to optimize block, that allow to use workstealing data-parallel operations implementations for scala arrays.