Changed distribution structure

Now the distribution contains the datetime2 module and the calendars package. Since calendars are
 independent from datetime2, it make more sense to have them structured in this way. Later, time representations
 will be structured in the same way.
Fixed error in IsoCalendar.__str__

This error got through the tests, because also the tests were wrong!

Took chance to fix a small error in a comment.
Completed documentation towards 0.3.2

- Added chapter about adding new calendar, and section about calendars in Date documentation.
- Added doctest clauses, that made me discover a lot of error in documentation, and also one in IsoCalendar code that passed the tests because they wer wrong!
- Updated copyright years
- Completed part about adding new calendar classes to Date
Completed test code for Date interface

Also added note to adding documentation
Big improvement in description of date-calendar interface

 Also removed the adding.rst file, no more needed.
Updated test code for Date interface

Changed code to reflect decision to change implementation.
Probably removal of adding.rst didn't enter in the previous commit.
Updated documentation due to changed in implementation

New implementation uses metaclass and __call__, without needing constructors and special_methods in register_new_calendar.
Corrected small detial in register_new_calendar description
Fixed implementation of replace in ISO and Gregorian calendars
Moved implementation of cformat in both calendars to version 0.4
Corrected another small detail in register_new_calendar description
Reimplemented testing of the calendar interface
Implementation of the calendar interface
Reworded list of advantages