bn_exp.c: fix x86_64-specific crash with one-word modulus.

PR: #3397
e_os.h: limit _MSC_VER trickery to older compilers.

PR: #3390
Add cscope and ctags files to .gitignore

These files are generated by the cscope and Exuberant Ctags tools as described
in:

http://wiki.openssl.org/index.php/Testing_and_Development_Tools_and_Tips
Emit PERLASM_SCHEME to fix GitMake on OS X

This fixes the errors when trying to assemble .s files using GitMake on OS X.
{,darwin64-}debug-test-64-clang Configure targets

These are based on debug-ben-debug-64-clang and is intended to produce
consistent settings for folks involved in the unit testing effort detailed at:

http://wiki.openssl.org/index.php/Unit_Testing

-fsanitize has been removed from the set of clang flags for now. Apparently
clang 3.1, which ships with FreeBSD 9.1, completely ignores -fsanitize. Clang
3.3, which ships with FreeBSD 9.2, compiles with it, but fails to link due to
the absence of libasan:

http://lists.freebsd.org/pipermail/freebsd-hackers/2013-December/043995.html
https://www.mail-archive.com/cfe-commits@cs.uiuc.edu/msg92260.html
http://reviews.llvm.org/D2644

We need -Wno-error=unused-const-variable because of this error:
.../crypto/ec/ec_lib.c:74:19: error: unused variable 'EC_version' [-Werror,-Wunused-const-variable]
static const char EC_version[] = "EC" OPENSSL_VERSION_PTEXT;
Remove short-circuit to allow GitMake test to pass

Removing this code allowed GitMake to successfully build and run all the
tests. It was previously breaking because only the first '@' line of test_bn
and other test rules was updated with 'cd $(TEST_D)'.
Improve variable parsing when generating MINFO

Before this change, variables for which a '=' appeared in the assignment would
be parsed as the entire string up until the final '='. For example:

  BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \

would result in the variable name "BUILD_CMD=shlib_target". This doesn't
appear to harm the current generation of MINFO, but creates problems for other
Makefile-related work I'm attempting.
Remove redundant test targets outside of test/

These correspond to targets of the same name in test/Makefile that clash when
using the single-makefile build method using GitConfigure and GitMake.
Ignore dependency makefiles
Add missing SRC variable

This is the only Makefile without SRC defined. This change enables a
standard Makefile include directive to cover crypto/jpake/*.d files.
Add whrlpool and camellia .s files to perlasm list
Add .d files to 'make clean' targets
crypto: cversion.c depends on buildinf.h
Configure dependency-generating compiler flags

This is in anticipation of removing support for makedepend, as per:

http://marc.info/?t=140420825100001&r=1&w=2
https://groups.google.com/forum/#!topic/mailing.openssl.dev/m9XDCpmzWAg