Merge ESS changes to julia-mode.el with backwards compatibility.

Fixes #4010. This is just the changes that @sje30 made in 2bfcc92a5499a736d5a434ab9616bdf32a8d5950 with two things added for compatibility:

1. Derive from fundamental-mode if prog-mode isn't defined, as inspired by [this](https://github.com/haskell/haskell-mode/issues/16#issuecomment-4867888) thread in the haskell-mode issue tracker
2. Define the `ignore-errors` macro if it isn't defined already (this wasn't added until emacs 23).

I tested it quickly using the Emacs that ships with OSX (22.1.1) and my tricked out Emacs 24.3.1 and everything seems to work fine; if others could test that would certainly be good.