Merge pull request #28 from michalt/semilinear

A few minor improvements
added *= operation to multiply SR element with natural number
Merge pull request #32 from michalt/semilinear

Implement VecSet
refactoring:
- got rid of boolean flags is_idempotent and is_commutative and moved them to template parameters.
- put the *=Nat operation into the abstract semiring class
some reorganization in the source-tree... hopefully more organized now :)
semiring: whitespace only
polynomial should use Idempotence/Commutativity of the semiring