Implement Mix.Version, closes #1115
implement mix package and related tasks re #1124
changes from PR discussion

1: ensure_loaded?

3: ebin

2: assume path/ebin to be packaged

6: accept project path & assume ebin

8: include priv in archive

5: local.uninstall handles packages too

7: local.install [] will install a package

7: mix new .gitignore *.ez files
local.uninstall warn on uninstall package task
Only change compilation status if warnings_as_errors
There is no need for =~ to be a macro
Allow +, -, and friends to be called dynamically

Our compiler still inline those calls. This commit simply
allows one to write:

    mod = Kernel
    mod.+(1, 2)
Go to :binary.match(left, right) directly instead of hoping through String.contains?
fix typo in doc
Merge pull request #1255 from tonini/code-module-typo-fix

Fix typo in the @doc for Code.eval_string
Fix typo in doc
Merge pull request #1256 from mururu/fix-typo

Fix typo in doc
Handle --warnings-as-errors and other elixirc options in mix compile
Update CHANGELOG
Merge pull request #1130 from meh/mix-version

Implement Mix.Version
Fix Dict.drop documentation
Remove documentation of .split, .drop and .take on HashDict and ListDict

They are already documented on Dict
Avoid usage of defrecordp and move all parsing to Mix.Version.Parser
Merge pull request #1258 from elixir-lang/fix-typo

Review documentation of `.split`, `.drop` and `.take` on `Dict`
Merge pull request #1223 from jeremyjh/1124-mix-local-arch

add mix package and related tasks