Starting overhaul for version 3.0

- Replacing project-map alist with hash table
- Simpler interface and better documentation for malinka-project-configure
- Removed some unneeded functions.
- Is a work in progress
defined-project-names updated to deal with hashtables

- Also a little more functions/variables follow proper conventions
Cleaned up macros and the cmake project configuration path
More organized project data structures

- Projects now contain more succinct data and a list of file attributes
- Each file-attribute contains information pertaining to the compilation
  of that particular file
- Compilation database is now created using these data if not cmake
- version >2.85
Idle timer for malinka project checks

- After a number of idle seconds current file is checked for
  membership in a malinka project.

- If current file belongs to a project many different actions can be
  taken. (Work in progress)

- Added a minor mode which does nothing for now. Will load hooks and
  activate possible advice soon.
When idle on a project make sure project ir loaded in rtags
Malinka can now try detect, configure and select projects while idle

- There are quite a few rough edges but when
  `malinka-enable-idle-project-check' is enabled malinka will try and
  see if the current file belongs to a known project and will then
  switch to that project.
updating readme for the recent changes