trac #16374: new file arith_pyx.pyx
trac #16374: two small optimization

- use less arguments in C functions
- change the strategy in four_squares_pyx to increase performances (but
  we lose the fact that the answer is lexicographically smallest)
trac #16374: reviewer comment + further optimization
trac #16374: rename arith_pyx.pyx into sum_of_squares.pyx
trac #16374: unsigned int -> unsigned long
trac #16374: replace sqrt by sqrtl
trac #16374: unsigned long -> uint_fast32_t and signal handling
trac #16374: fix a signal handling error
trac #16374: fix input overflow + some cleaning
trac #16374: overflow test + is_sum_of_two_squares_pyx
trac #16374: Merged with 6.3.beta3
trac #16374: Latex typos
trac #16374: fix OverflowError test to be platform independent
Trac #16374: better two_squares, three_squares, four_squares for small input

We implement a much more efficient version of square decomposition for
small values.

URL: http://trac.sagemath.org/16374
Reported by: vdelecroix
Ticket author(s): Vincent Delecroix
Reviewer(s): Jeroen Demeyer, Leif Leonhardy,  ​Nathann Cohen