auto expand log scale to include at least two major ticks
Use a different axes_pad parameter for log scale.

This fixes problems with user-specified minimum values that
was not being applied correctly earlier.
Merge branch 'develop' into ticket/13528
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
Ticket 15547: correct the dimension of projection and 3d-backedges in tikz method
Added an attribute to projection for test to pass
Merge branch 'develop' into t/13528/ticket/13528
merge ticket 13422 on to 13528
Reintroduce the changes of this ticket 13528

This is now rebased on to 13422.
forgot to pass the axes_pad parameter.

Also added some doctests and modified existing ones.
Trac #16445: Use parentheses for `load' and `attach' in programming tutorial,

Current releases of sage need parentheses for load and attach, at least
when used on the sage command line.