Begin ref impl, currently an arch option (arch_ref64).
unify all the ec_point.c files
convert arch_neon_experimental to using vaguely cryptopp-style macroed asm.  now it compiles on gcc in addition to\ clang, though it is still faster on clang
Don't look at __SIZEOF_INT128__ on clang-3.2 or earlier, because they don't define it.
Spell __clang_minor__ correctly.  Also, this and the prev patch should fix SUPERCOP problems
Forget yesterday's hack; just add an arch_config.h to each arch which says
how many bits it is.

Add batarch.map for eBATS architecture renaming.
oops i forgot to save changes to HISTORY.txt
Changes to the eBAT build system, to bring the code and package
closer to how DJB expects them.
Working on demagication, so as to support other curves for the CFRG benchmarks in a month or so.

Create new src/arithmetic.c for field-independent arithmetic (eg batch invert, is_square).

Replace p448_ with field_ where possible.

Create constant EDWARDS_D = -39081.

Create inline function field_mulw_scc for multiplying by compile-time signed curve constants.
merge in notes on elligator; move some point ops to ec_point
WARNING: This commit is largely untested.

Continuing demagication and factoring of field code.

Removing high-level ops from p448.h and putting them in field.h.  That way they
won't need rewriting for new fields and architectures.

Create constant_time.h which contains constant-time lookups, condswaps, etc.
That way the code is the same on all architectures, instead of varying depending
on whether the field size is a multiple of the vector register size.  I should
still add a constant_time_select to factor out field_cond_negate.

TODO: I need to test this for correctness and performance on various platforms.
It works on my Mac, but since Yosemite the timing is totally unpredictable
(background tasks?  variable boost?).
no perf regression on haswell.  Also, factored out field_cond_neg; restored p448_ prefixes in case of multiple fields in the same lib