Introduced Jam_Exception_Slugmismatch

Changes:
 - Fixed a bug in sluggable behaviour:

   When a slug is set explicitly to a model with auto_save option
   and then the model is saved, the slug is not updated in the database
   (which is correct). But the slug is updated in the model and another
   save will incorrectly change it in the database as well.

 - Jam_Exception_Sluggable and Jam_Exception_Slugmismatch:

   * Jam_Exception_Sluggable is only thrown when it was not possible
     to generate a valid slug. It is also kept for future use of generic
     exceptions related to the sluggable behaviour.
   * Jam_Exception_Slugmismatch is thrown when a find_by_slug_insist
     is called, the model is found by primary key and the provided slug
     does not match the actual slug of the model found. Its purpose is
     to be caught separately to inform the external code of the slug
     mismatch and to possibly redirect to a page with the same primary key
     and correct slug.

 - Added additional tests for the sluggable behavior. The code coverage has
   probably gone down, because of the additional @covers annotations.