Implemented a more efficient algorithm to find the m-th root order.

Thanks to this algorithm, `find_root_order` is no longer the bottleneck
for certain computations. It is indeed almost instantaneous for every
resonable input.

We've also added a lot of comments, and filled some theoretical holes.

This commit merges a lot of development that happened on the branch
`sieve`. All the history, with a lot of trial and error, is preserved in
that branch.

Squashed commit of the following:

commit 8d5721989b61dfd0d44b565d532b3ef4d4c8ce7a
Author: Luca De Feo <dfl@deagol>
Date:   Tue Aug 6 00:26:19 2013 +0200

    Done implementing sieving strategy + bugfixes + comments.

commit 29aeccc76be02a4e25fbdd5ec3bbb549daa7edb9
Author: Luca De Feo <dfl@deagol>
Date:   Sat Aug 3 03:38:24 2013 +0200

    Sieve now takes prime powers into account.

    Still needs integration, testing, and comments.

commit 6f4f43c5842f7aa8b57361bed38be7f4bf0aebf8
Author: Luca De Feo <dfl@deagol>
Date:   Fri Aug 2 21:05:04 2013 +0200

    Started work on a sieve technique for m.

    It does not use prime powers for the moment, and lacks comments.

commit cf959ae85a351a3e5857aacb2962adea966b14d9
Author: Luca De Feo <dfl@deagol>
Date:   Fri Aug 2 00:26:40 2013 +0200

    Small comment

commit e7abdd25071598ee68b3632c86159efe4ce2540a
Author: Luca De Feo <dfl@deagol>
Date:   Thu Aug 1 22:33:19 2013 +0200

    Small bugfix and more comments.

commit a084be98a84ccca459380cce2b54942a1b36fc73
Author: Luca De Feo <dfl@deagol>
Date:   Wed Jul 31 17:53:48 2013 +0200

    Bugfix and some comments

commit 87c5e4296d8947498ef5727bce338a7d0f217a26
Author: Luca De Feo <dfl@deagol>
Date:   Tue Jul 16 00:42:14 2013 +0200

    A primitive sieving, still buggy

commit 3d68107c4d6a4ec98bace6029a7cd62186746b80
Author: Luca De Feo <dfl@deagol>
Date:   Mon Jul 15 09:48:21 2013 +0200

    Still working...

commit 0e41a9ef3b4f1696d69b5b0ff1f56e2afd50c2c2
Author: Luca De Feo <dfl@deagol>
Date:   Sun Jul 14 18:13:35 2013 -0400

    Started working on a sieving technique for find_root_order
computing finite field isomorphisms draft
unified cases for p and r
fixed line breaks
implementation of the isomorphism paper