Initial comit
Initial Boost.Function commit
* Added initial comments and copyright notices to any files missing them.
* "Acknowledgements" section added to documentation
regression.cfg:
	- Run all regression tests for Boost.Function
function.hpp:
	- Added self-assignment check in operator= and set()

function_template.hpp:
	- Added self-assignment check in operator= and set()
function_n_test.cpp:
function_test.cpp:
	- Add tests for self-assignment
Boost.Function:
	- Redesigned decision procedure for "is it a function pointer" vs.
	  "is it an object".
	- No longer requires copy constructions of function objects during
	  assignment or construction.
	- Added operator! to boost::function_base instead of relying on
	  safe_bool conversion.
	- BOOST_NO_DEPENDENT_BASE_LOOKUP is now unnecessary
	- BOOST_WEAK_CONVERSION_OPERATORS is now unnecessary
	- BOOST_WEAK_FUNCTION_TEMPLATE_ORDERING is now unnecessary
function_n_test.cpp:
function_test.cpp:
	- Removed silly ';;' constructs: MSVC seems to handle the updated
	  code much better.

regression.cfg:
	- Fixed typos
Removed consts and associated const_casts from Borland workaround code.
The void partial specialization of the function classes has been removed in
favor of a common interface. Regardless of the compiler's capabilities, the
result type of a Boost.Function function object that was declared void will
be "unused". This allows the result of a Boost.Function function object to
be passed as a parameter regardless of whether the function is declared as
returning void. It greatly simplifies the use of Boost.Function objects with
wrapper objects (i.e., when the side effects are important, but the result
isn't: consider binding and composition when calling a std::for_each loop)
function_template.hpp:
	- One argument functions model AdaptableUnaryFunction
	- Two argument functions model AdaptableBinaryFunction
function_base.hpp:
	- Changed "RET" to "type" in the IF template metafunction because
	  the GCC source headers define RET as a macro.
Ron Garcia suggested removal of the duplicate explanation of (bool)f/f.empty()
faq.html:
	- Fixed HTML typo near the end

index.html:
	- Added declarations of all members for all classes.
	- Added detailed description of interface according to Boost
	  guidelines.
index.html:
	- Use relative pathnames for links to generic programming techniques
	  page (Gustavo Guerra).
	- Terminology in Basic Usage intro (Jeremy Siek).
function.hpp:
	- Use swap() for exception safe assignment operators

function_template.hpp:
	- Use swap() for exception safe assignment operators
	- Remove BOOST_FUNCTION_BASE class.
	- Support copying of mixins. (Richard Crossley)
mixin_test.cpp:
	- Test copying of mixins
mixin_test.cpp:
	- Test persistence of mixins when assigning to a function object
function_template.cpp:
	- Correctly copy mixin when assigning from any function/function object
mixin_test.cpp:
	- Check assignment from function pointer