Replace auto-complete-mode with company-mode.

This is a first shot at using company-mode for completions. This
simply adds a company backend that duplicates the auto-complete
functionality. Elpy will make more use of company's features in
the future.

Fixes #102.
Elpy module support.

Elpy now supports the concept of modules, self-contained pieces
of software that can individually be enabled or disabled to
support additional features.

This has a few user-visible changes:

- elpy-default-minor-modes is gone. Elpy now uses elpy-modules,
  but the functionality is different. You can easily enable minor
  modes in elpy by adding them to elpy-mode-hook.
- elpy-clean-modeline is gone. The functionality is not, individual
  modules can decide if they want to hide mode line lighters.

Fixes #145.
Cleanup and sections in Elpy.

This change marks a few things as obsolete, they might get removed
in future versions of Elpy:

- idomenu. This will likely be integrated with other functions to
  quickly navigate to definitions.
- elpy-doc-websearch. If at all, this should be accessible from
  a pydoc buffer.
- elpy-refactor. The Rope refactoring support has been rather
  flakey and experimental. Also, Rope development has been pretty
  slow. This might be dropped entirely in a future version.

If you don't like this, let me know before I do a release.

This implements parts of #148.
More clean-up for the modules.

Enable modes in modules and require libraries there, too. And Add
the missing highlight-indentation module.
Remove elpy-rpc-project-specific.

This option was unused for a while, it's the default.
Rework elpy configuration.

Elpy will now not pop up an installation screen on any configuration
problem anymore, but simply signal an error and suggest the user
to run M-x elpy-config. This command will open a buffer with some
information about the Elpy configuration and customization options
for Elpy.

To make this more useful, the Elpy customization options have been
reworked.

This change removes elpy-show-installation-instructions, which is
now useless.

This implements most of #146.
Use two spaces in front of inline comments.

This is the recommended behavior in PEP8.

Thanks to Xiao Hanyu. Fixes #224.
Renamed legacy variable
Remove debug code. Ahem.
Update tests to the restructured elpy.el.
More fixes to make tests run.

We have to use melpa-unstable for some packages. Which pulls in an
unstable version of nose.el, which breaks with older Emacsen. So
work around that, too.
server config: Use positional access to sys.version_info.

Python 2.6 does not have the names yet.