Merge in changes from ESS' version of julia-mode.el

Update syntax entries to use "_" syntax class.
Docstrings added, conforming to `checkdoc'.
Replace error2nil macro with the equivalent builtin ignore-errors macro.
Derive the major mode from prog-mode.
Add imenu support (see "Imenu" menubar item.)
Merge pull request #4009 from sje30/master

Merge in changes from ESS' version of julia-mode.el