Split the single crate into two crates - main and macros

I've separated the compiler plugin for `docopt!` macro from the main library and created Cargo package for it. I've also fixed doc comments and readme and examples. Seems to be working. Hopefully this will again allow to build static executables using docopt.

Note that I had to make `docopt::parser` module public, as well as several other methods from `docopt`.