Int specialization of group actions. Without, it is impossible to have a group element acting on unboxed integers - this is required for permutation actions.
Corrected bug in GroupAction operator syntax.
Merge pull request #274 from denisrosset/topic/groupaction-bug

Corrected bug in GroupAction operator syntax.
Merge pull request #273 from denisrosset/topic/groupaction-int

Int specialization of group actions
Add MultiplicativeAbGroup[Sign] and fix id bug.

The id of Sign was Sign.Zero, when it should've been Sign.Positive.
Loosen GroupAction#scalar to only be Semigroup.

Group was rather restrictive, given the laws.
Add GroupAction laws.
Merge pull request #277 from tixxit/topic/sign-action

GroupAction for Sign and other bits
A left action satisfies the law: (gh).x = g.(h.x) for g, h elements of the group, while a right action satisfies x.(gh) = (x.g).h.

To go from one to the other, the action needs to be composed with the inverse operation. In the GroupAction type class however, this is not done yet. And because now GroupAction scalar derives from Semigroup, this cannot be done automatically.

I propose thus to remove the automatic call of the left action from the right, because it does not follow the mathematical laws and will surprise the user. Note that the current pull request does not compile because actr is missing in e.g. Sign.

I see two solutions:

1. leave the code as it is and let the user define its left and right actions,
2. split GroupAction into LeftGroupAction and RightGroupAction, and the same for AdditiveGroupAction, MultiplicativeGroupAction,
3. reintroduce val scalar: Group[G].

I dislike 3. because I like the group action syntax when dealing with semigroups - and would have to redefine it myself, which is a pain because I then have to cherry pick Spire syntax imports.
Added implementation for other group action.
Merge pull request #278 from denisrosset/topic/groupaction-leftrightbug

Left/right action laws not implemented correctly now
Add Free Group and Monoid.
Add laws/tests for FreeMonoid/Group.
Refactor D3 test group a bit.
Use ::: instead of ++ in FreeMonoid.
Add FreeAbGroup.
Use only positive exponents in split.
Uncomment tests - oops.
Merge pull request #279 from tixxit/topic/freedom

Add FreeMonoid and FreeGroup
Merge pull request #264 from denisrosset/master

Partial order implementation.