Remove :docs and :moduledoc clauses from the __info__ function

Instead, we keep the docs in a custom chunk within the .beam file;
this will allow us to lazily load them
Add Code.get_docs/2 function
Add version tag to Elixir’s beam chunk

This will allow us to change the layout of the chunk in the future
Preserve docs chunk during protocol consolidation
Update tests that need to read module docs to write BEAM code to disk
Merge pull request #2326 from alco/docs-beam-chunks

Docs beam chunks