warning about incorrect argument
Unbox priorities of DoubleAgenda by introducing DoubleEntry objects

- Unbox priorities of DoubleAgenda by introducing DoubleEntry objects
- Use fused type for Entry & DoubleEntry objects instead of function
  pointer.
- Get rid of code duplication between Agenda & DoubleAgenda,
  latter inherits Python methods from former and only adds cdef methods
  for double values
- nsmallest takes & returns list of DoubleEntry objects, which are
  directly given to update_entries method of DoubleAgenda in kbest
  module.
- add @cython.final to .pyx as well as .pxd files.
fix formatting & catch CLI error