LOGBITP and LOGTEST optimizations from x86.

Copy Nathan Froyd's optimizations for LOGBITP and LOGTEST
on x86 architecture into x86-64.

Committing change submitted by Doug Katzman.
Disassemble: print the function size in bytes.

Print "; Size: 981 bytes" at the beginning of DISASSEMBLE output.
Use AMOP representation of canonicalized default initargs for conditions

This fixes two issues:

1. CLASS-DIRECT-DEFAULT-INITARGS did not work for condition
   classes (bug 1164970)

2. Constant functions as default initargs of condition classes did not
   work correctly (bug 539517)

The following things have been changed:

* CONDITION-CLASSOID-DEFAULT-INITARGS is now called
  CONDITION-CLASSOID-DIRECT-DEFAULT-INITARGS to better reflect its
  purpose.

* Previously, default initargs of condition classes where stored in a
  plist the values of which where constant initforms or
  initfunctions. Now default initargs of condition classes are always
  of the form

    (INITARG INITFORM THUNK)

  as described in AMOP.

* The SHARED-INITIALIZED :AFTER CONDITION-CLASS T method now stores
  the direct default initargs in the class plist. These are now of the
  correct form as described in the previous bullet point.

* The DOPLIST macro used to be defined in src/pcl/macros.lisp. It is
  now in src/code/early-extensions.lisp and exported from SB-INT. This
  was necessary to use DOPLIST in src/code/condition.lisp.

* Unit test for both problems have been added.

fixes lp#539517, fixes lp#1164970
Evaluate condition default initargs once, even after redefinition

There were two causes of this failure

* %DEFINE-CONDITION did not clear CONDITION-CLASSOID-HAIRY-SLOTS when
  a condition was redefined. This led to multiple copies of slots in
  CONDITION-CLASSOID-HAIRY-SLOTS and thus to initforms being evaluated
  multiple times. %DEFINE-CONDITION now clears
  CONDITION-CLASSOID-HAIRY-SLOTS before populating it again.

* (MAKE-INSTANCE CONDITION-CLASS) produced the call tree
  MAKE-INSTANCE
  + ALLOCATE-INSTANCE SLOT-OBJECT
    + MAKE-CONDITION
  + INITIALIZE-INSTANCE SLOT-OBJECT
    + SHARED-INITIALIZE SLOT-OBJECT
  MAKE-CONDITION  and SHARED-INITIALIZE both called initfunctions
  leading to multiple evaluations

A test case has been added.

fixes lp#1164969
Handle :ALLOCATION of condition slots correctly

Previously, DEFINE-CONDITION failed to pass the :ALLOCATION slot
option to MAKE-CONDITION-SLOT.

A test case has been added.

fixes lp#1049404