Fix elixir_errors.erl specs to include binary paths

Previously elixir_errors.erl did not allow binary paths according to its specs. Found by the following dialyzer warnings from #1569:

```
lib/iex/lib/iex/evaluator.ex:119: The call elixir_errors:parse_error(any(),#{#<105>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big']), #<120>(8, 1, 'integer', ['unsigned', 'big'])}#,"incomplete expression",[]) breaks the contract (non_neg_integer() | [any()],file:filename(),iolist() | atom(),[] | iolist()) -> no_return()
lib/iex/lib/iex/evaluator.ex:144: The call elixir_errors:parse_error(line@1::any(),#{#<105>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big']), #<120>(8, 1, 'integer', ['unsigned', 'big'])}#,error::any(),token::any()) breaks the contract (non_neg_integer() | [any()],file:filename(),iolist() | atom(),[] | iolist()) -> no_return()
```