Issue 125. changed Custom Fields to be a Set instead of List

to avoid "duplicate ID" exception when several custom fields
with the same ID are added to the list due to programmer's error.

Closed direct access to CustomFields and other collections in Issue, User and other beans.

Added Fest Assert library to use assertThat() style assertions in tests.