Study of some possible internal errors, with related tests

The tests are written in the new style. For this reason, I had to checkout server.py to the version in fork "test_refactoring" here: https://github.com/fmarco/share-system-team1/tree/test_refactoring.
2 osservazioni (minori):
 * ogni test deve coprire un unico caso indipendente dagli altri. Questo l'avevate sistemato anche nel famoso "test refactoring" quindi il perché ti dovrebbe essere chiaro
 * poiché nose stampa la docstring di un test quando lo esegue, può essere conveniente avere un nome di funzione corto anche se è 100% esplicativo, avere una docstring di una riga che lo spiega ed eventualmente una descrizione più corposa come commento del test.