Move Basic inline functions to basic-inl.h.

Also add newlines to the end of each file.
Merge pull request #92 from hazelnusse/inline-files

Move Basic inline functions to basic-inl.h.
Fix failing test in test_arit.

Before this change:

```
$ ctest
Test project /home/jrioux/git/csympy
    Start 1: test_rcp
1/6 Test #1: test_rcp .........................   Passed    0.01 sec
    Start 2: test_basic
2/6 Test #2: test_basic .......................   Passed    0.02 sec
    Start 3: test_arit
3/6 Test #3: test_arit ........................***Exception: Other  0.48 sec
    Start 4: test_poly
4/6 Test #4: test_poly ........................   Passed    0.01 sec
    Start 5: test_functions
5/6 Test #5: test_functions ...................   Passed    0.02 sec
    Start 6: test_subs
6/6 Test #6: test_subs ........................   Passed    0.01 sec

83% tests passed, 1 tests failed out of 6

Total Test time (real) =   0.58 sec

The following tests FAILED:
	  3 - test_arit (OTHER_FAULT)
Errors while running CTest
```

The log gave the failing test in test_arit:

```
3x^2 + 2x^3 + x^4 + 2x^5 + x^6
x^2 + 2x^3 + 3x^4 + 2x^5 + x^6
test_arit: /home/jrioux/git/csympy/src/tests/basic/test_arit.cpp:421: void test_expand2(): Assertion `eq(r1, r2)' failed.
```

Benchmarks gave:

```
$ for f in benchmarks/expand{1,2,2b,3}; do ./$f; done
Expanding: (y + z + w + x)^60
170ms
number of terms: 39711
Expanding: (y + z + w + x)^15*((y + z + w + x)^15 + w)
1743ms
number of terms: 6272
poly_mul start
poly_mul stop
135ms
number of terms: 6272
Expanding: (z^x + x^y + y^x)^100
44ms
number of terms: 5151
```

After this change:

```
$ ctest
Test project /home/jrioux/git/csympy
    Start 1: test_rcp
1/6 Test #1: test_rcp .........................   Passed    0.00 sec
    Start 2: test_basic
2/6 Test #2: test_basic .......................   Passed    0.01 sec
    Start 3: test_arit
3/6 Test #3: test_arit ........................   Passed    0.02 sec
    Start 4: test_poly
4/6 Test #4: test_poly ........................   Passed    0.01 sec
    Start 5: test_functions
5/6 Test #5: test_functions ...................   Passed    0.00 sec
    Start 6: test_subs
6/6 Test #6: test_subs ........................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) =   0.06 sec
```

Benchmarks give:

```
$ for f in benchmarks/expand{1,2,2b,3}; do ./$f; done
Expanding: (y + z + w + x)^60
169ms
number of terms: 39711
Expanding: (y + z + w + x)^15*((y + z + w + x)^15 + w)
1837ms
number of terms: 6272
poly_mul start
poly_mul stop
135ms
number of terms: 6272
Expanding: (z^x + x^y + y^x)^100
44ms
number of terms: 5151
```
Convert Python long to mpz_class in Integer
Integer: fix int handling for Python 3
Python 3: use UTF-8 encoding
Merge pull request #96 from certik/long

Convert Python long to mpz_class in Integer
Merge pull request #94 from jrioux/pow

Fix failing test in test_arit.
Add another test for #94

This test fails on 64 bits unless the PR #94 (i.e the
0e190eb0424f872997e49b28e73b38091dff4fed commit) is applied.
Add Julien to AUTHORS
Travis: use "set -e", so that failures work

See https://github.com/travis-ci/travis-ci/issues/497 for more details why this
is necessary.
Execute the Travis tests from a script

Fixes #98.
Make the test_travis.sh script executable
Travis polishing: use [[ instead of [

And remove unnecessary semicolons.
Merge pull request #97 from certik/add_test

Add another test for #94
Implementation of GCD
Added tests
Add tests
Restructure tests directory
Implemented lcm