Introduce regression tests for PBassign.py

This tests aim at checking that changes in the code do not affect
PBassign output.

To run the tests, call:
./test_regression.py

You can also install nose and run:
nose test_regression.py

This latter option is more readable as it hide most output except is the
tests fail. Nose is available at https://nose.readthedocs.org .

Note that this commit duplicates some files from the demo1 directory.
This may not be an ideal solution.
Change a function name in test_regression.py

test_simple_PDB_fasta was testing also a multi model input file,
therefor the function name was inappropriate.
Simplify file content check in regression tests
Create new helpers in regression tests

* Avoid future duplication of code
* Run tests in a unique directory to clean stuff more easily
Add python bytecode files (*.pyc) in gitignore
Put testing procedure out of the test class

The test class now contains only the very high level of test. All the
implementation details are in helper functions.
Test the --flat option of PBassign
Ignore test outputs from the repository
Add regression tests for option phipsi of PBassign
Add regression test for multiple inputs in PBassign
Add tests that check that tests fail when they should
Fix regression tests

* unittest.expectedFailure was not a reliable way to check test failure
* file content comparison was wrong
* headers in reference fasta files were wrong
Starts tests for PBcount
Revert "Starts tests for PBcount"

This reverts commit 5d96a02a214f25cdb834930a1376c4a859e2e617.

The commit was not finished.
PEP8 fixes in test_regression.py

I let some lines at 80 characters instead of 79 for readability.
Add docstring to test_regression._failure_test
Fix a typo in the test_regression module docstring
renamed output temporary test directory
set explicit use of unittest objects
moved get_dihedral() function to PBlib