Add the declaration "template <class K> const_iterator lower_bound(const K& k) const" from C++14, as proposed by N3657, Adding heterogeneous comparison lookup to associative containers (rev 4). If lower_bound implementation is satisfactory, then the other lookup operations will be added accordingly. Note that N3657 requires N3421, Making Operator Functors greater<>, but that requirement will be deferred during initial development.
Merge branch 'feature/2layer' into feature/heterogeneous-lookup
Outer interface seems OK, until comp() is called; need to use a two-type less.
Changed two value_compare and branch_compare operator() overloads to template on K so they work for heterogeneous key comparison.
Finalize initial support for heterogeneous comparisons. Along the lines of N3657, N3421.
Implement lower_bound. Fix typo in lower_bound_test. lower_bound_test passing.