Adopt single-Makefile build structure

As per my experimentation, reported results and ensuing discussion, I'd appreciate a decision on whether to move forward with adopting a "single-Makefile" build structure:

Report (Google Docs): http://goo.gl/yhvCno
https://groups.google.com/d/topic/openssl-testing/AUJME_4xkWM/discussion
https://groups.google.com/d/topic/mailing.openssl.dev/F1CkO4WCrv8/discussion

I regularly rebase this branch onto master, and several of the changes should be able to go in right away. Note that the commits up to and including "Fix CC in FIPS_BUILD_CMD and FIPS_CRYPTO_BUILD_CMD" are already pending in https://github.com/openssl/openssl/pull/145 (openssl.org #3447).

The biggest question is whether or not to support GNU make only, or try to maintain compatibility between GNU and BSD make. For reasons cited in the report, I favor supporting GNU make; I would rework the GNU-specific commits in this branch if that is the consensus.