Merge discrete lib #1

Hi,

I'd like to start the 1st iteration for merging DiscreteLib. The commit logs are not well organized this time but will be improved in the final version. In this iteration, I'd like to focus on conceptual model and interface (don't worry, we will focus on implementation later).

This change set includes the followings
- Basic class and interface in DiscreteLib
- Implementation of Serial version
- Test cases under Tests/DiscreteLib
- Some changes in other libraries needed for merging DiscreteLib

To see the overview, you may start from a test case (https://github.com/norihiro-w/ogs/blob/merge-DiscreteLib1/Tests/DiscreteLib/TestLinearSystem.cpp).

Let me know if you think it's better to divide this pull request into smaller pieces.