Fixes a bug in Stringends_with?

  iex> String.ends_with? "hello", ["hell", "lo"]
  false

 The problem was that the implementation uses :binary.matches, and that returns only
 one match. It would find "hell", but pos+len != size, and so returned false.

 Changed for a less efficient implementation.
Switch to using pure binaries
Merge pull request #1117 from pragdave/master

Fix for a problem with String.ends_with?
Don't mention `inspect` and `IO.inspect` in IEx.Options

Those function do not query `IEx.Options.get :inspect` by default
Add @doc false to each gen* callback by default
Start refactoring LocalsTracker to support more vertices
Extract imports handling to locals tracker (soon to be renamed)
Use precalculated binary size
Rename Kernel.LocalsTracker to Module.DispatchTracker
Record each definition on tracker as soon as defined
Check for imports conflicts in batches
Ensure warnings are proper with yanked and reattached overridables