Decoupling

- Eliminated some calls to context.config from Task‥cpp, reducing the coupling.
  If context can be eliminated from Task.cpp, via statically initialized
  variables, then Taskwarrior and the task server can share Task.{ḩ,cpp} which
  would be an enormous saving in effort.

(cherry picked from commit 215b03b1a7f47299a0d3e64331c7e3c962b4caf0)
Performance

- It it not necessary to make a copy of all configuration variable names, if the
  Config::const_iterator is sufficient.

(cherry picked from commit 5708cb90780f1f6c8f58f5b549796c4af612b1ab)
Build Error

- Many files were missing an explicit cmake.h include.  Some were not including
  it at all.  Now it's used almost everywhere.

(cherry picked from commit 82ae86979c497e6d1d0c6b2b5a55aa379ec82c98)
Unit Tests

- Corrected unit tests due to rc.print.empty.columns.

(cherry picked from commit af12285d4585c1274d8d005ba042f31158527e3e)
Code Sharing

- Cleaned up the #ifdef in Task.cpp for sharing with taskd.

(cherry picked from commit af94ac2e12d84fddb735d6931aaf2c46176c794c)