Standardize layouts and their commands
* Removed focus_first and focus_last on SingleWindow, so every child class must
  implement those two;
* Make EVERY layout working with group.{prev,next}_window, and give hand back
  to floating_layout when the last window of the layout is called;
* Make EVERY layout working with layout.{prev,next}, without giving hand back;
* Standardize implementation of window lists and movemements related: layouts
  must not shuffle their list but have a reference to the current focused
  window, otherwise focus_first and focus_last could not exist;
* Standardize focus_next and focus_prev implementation so that it returns a
  window or None if at the end of the list (so that group.{prev,next}_window can
  switch to the floating layout);
* Changed few tests to make them more pertinent / working with those standards.