better length(RopeString). add tests for sizeof(String)
parse keyword arguments as (kw x y) instead of (= x y)

this also preserves the order of the x=y pairs in the original arg list.

this change fixes several problems, since keyword arguments are not really
assignments, and should be distinguished from x=y in other contexts such as
    (x=y) + 2
    {x=y}

fixes #3346

give an error for optional positional args not at end. fixes #3143
Merge branch 'master' of git://github.com/JuliaLang/julia into manpage
Moved man page to newly created doc/man directory instead of directory placing it usr/share/man/man1, because usr/ is in the .gitignore. However, it is not currently accessible with the other man pages at usr/share/man/man1 because the Makefile has not been modified.