Move SSA message protocol to infiniband/ssa.h

ibssa_control.h contained a very early attempt at
defining what the inter-node protocol would be for SSA
nodes.  Move this file from include/ibssa_control.h
to include/infiniband/ssa.h.  The rename helps to
avoid confusion with ssa_ctrl.h, which defines
intra-node SSA messages.  The move is done with the
assumption that external protocol files will be
installed as part of an installation package.

The messages defined in the file are cleaned up.
Most of the file included structures and definitions
defined in acm.h.  Rather than duplicating those
definitions, we can use a modified version of acm.h
when we're ready for that part of the implementation.

The base message structure is changed to remove the
IB MAD header.  An SSA specific header is defined
instead (though clearly derived from the MAD header).
To help us isolate disjoint message protocols (e.g.
ACM from the SSA DB), we use define an SSA 'class'
for the message types.  Two classes are defined:
a control class and a DB class.

A third class is included as a possibility, but
commented out -- an encapsulated MAD class.  It can
either be added when needed or removed if we decide
not to support standard MAD operations over SSA
connections.  It was added in response to Ira's comment
in the ibssa_control file about supporting both
standard SA queries and optimized (i.e. acm) queries.

Each class can define their own operations and structures
without worry of conflicts.  The only control message
which is defined is a 'sync' message, which is intended
to be used as part of the connection process.  A parent
will send a sync message after establishing a connection
with a child to inform the child that the connection
has completed successfully.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Set SM LID on SSA port

MADs don't travel very far to the SM without actually
using the SM LID as the destination address.  Save the
SM LID to struct ssa_port when activating the port.

Next time I add a comment to 'set' a value, I should
really heed the comment.  :P

BONUS! fix crash when destroying member tree.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Fix SSA core layer to send response to join requests

Send a pointer to the MAD, not the address of the pointer.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Assign names to ssa device, port and services.

Store names with SSA objects.  This makes it simpler to
display that information in log messages.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Remove dead code from SSA framework

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Remove top-level build files

Building from the root of the source tree is not usable.
The build packages are available under the acm and plugin
directories, with the plugin autotool files being derived
versions from the source tree root.

Remove the autotool files from the top of the source tree
and move the spec file into the plugin directory.  The spec
file was not changed, just moved.  It has not been tested.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Move plugin assistant build script to plugin dir and clean up configure options.

Signed-off-by: Ira Weiny <ira.weiny@intel.com>