Generate change list separated by types using labels

As discussed on the mailing list instead of one big list of "Improvements" the change list for the release is divided into change types based on labels. It is required to specify which labels should be considered separately. Some other labels can be excluded (like "question" or "refactoring").

```
new ReleaseNotesBuilderFactory(project)
(...)
    .showSeparatelyChangesWithLabelMappings(["enhancement": "Improvements", "bug": "Fixed bugs", "doc": "Documentation"])
    .ignoreChangesWithLabels(["refactoring", "invalid", "question", "wontfix", "duplicate"])
```
There is also `headerForOtherChanges` method to override default "Other" header.

I changed internally `Improvement` to `Change` to better give meaning of change, but it is done in a separate commit, so can be easily reverted/amended if you don't like it (or have a better name).

Sample changelog generated for current release. Number of issues is the same as with the old mechanism. Many of them are placed in "Other" section as don't have labels assigned.

* Changes: 20
  * Improvements: 11
    * Improved the javadoc example of custom Answer implementation [(#22)](https://github.com/mockito/mockito/pull/22)
    * Avoided classloader issue when testing in Eclipse plugins environment [(#24)](https://github.com/mockito/mockito/pull/24)
    * Removed .java files from main mockito jar artifacts [(#28)](https://github.com/mockito/mockito/pull/28)
    * Smarter constructor injection by choosing "biggest" constructor instead of the default one [(#29)](https://github.com/mockito/mockito/pull/29)
    * Deep stub style mocks can be serialized [(#30)](https://github.com/mockito/mockito/pull/30)
    * Fixed the behavior of compareTo method of the mock objects [(#32)](https://github.com/mockito/mockito/pull/32)
    * New "MockingDetails.getInvocations" method for inspecting what happened with the mock [(#10)](https://github.com/mockito/mockito/pull/10)
    * Mock serialization/deserialization across classloader/JVM [(#5)](https://github.com/mockito/mockito/pull/5)
    * Improved MockitoTestNGListener by making it reset argument captors before each test [(#6)](https://github.com/mockito/mockito/pull/6)
    * Improve NoInteractionsWanted report to include the name of the mock [(#63)](https://github.com/mockito/mockito/pull/63)
    * New "getArgumentAt" method for convenient implementation of custom Answers [(#41)](https://github.com/mockito/mockito/pull/41)
  * Fixed bugs: 1
    * Allow calling real implementation of jdk8 extension methods [(#39)](https://github.com/mockito/mockito/pull/39)
  * Documentation: 0
  * Other: 8
    * Fixed wrong javadoc for AdditionalAnswers [(#56)](https://github.com/mockito/mockito/pull/56)
    * Added useful links to README.md [(#58)](https://github.com/mockito/mockito/pull/58)
    * Deprecated timeout().never(), in line with timeout().atMost() [(#14)](https://github.com/mockito/mockito/pull/14)
    * Verification with timout measures time more more accurately [(#15)](https://github.com/mockito/mockito/pull/15)
    * New "then" method for BDD-style interaction testing [(#38)](https://github.com/mockito/mockito/pull/38)
    * Enabled continuous integration with Travis CI and coverage tracking with coveralls [(#18)](https://github.com/mockito/mockito/pull/18)
    * Coveralls coverage tracking tool allows Mockito source code preview [(#62)](https://github.com/mockito/mockito/pull/62)
    * Improved behavior of EqualsWithDelta with regards to null handling [(#21)](https://github.com/mockito/mockito/pull/21)

I have to take a look why some labelled issues were ommited (in both mechanisms).

What do you think about that?