Fix type of name passed to :code.lib_dir

`:code.lib_dir/1` may only accept an atom in the future, and should only
be passed an atom according to the spec. Found from the following dialyzer warning from #1569:

```
lib/elixir/lib/record/extractor.ex:22: The call code:lib_dir(app::binary() | string()) breaks the contract (Name) -> file:filename() | {'error','bad_name'} when is_subtype(Name,atom())
```

Edit: Note warning at http://www.erlang.org/doc/man/code.html#lib_dir-1

Edit2: This is broken sorry.