Added module and backend systems.

- Module system allows for dynamic loading and unloading of RAVE modules,
  with its own search path. Modules should provide two functions:
  module_init() and module_close(), and one variable: module_priority().
- Backend system is the unique system that allows for pluggable backends.
  Only a small start has been added.