config.h.in: add CLICK_ALWAYS_INLINE

GCC will ignore inline if the compiler is not optimizing.  Certain code
(namely, spin_lock_irqsave and spin_unlock_irqrestore) can break on some
architectures if called from different functions.

This commit adds the always_inline attribute, which indicates that the
compiler should always consider inlining even when not optimizing.  The
existing linux __always_inline was not used since it includes "inline" and
must go at the front of the declaration.

The confusing part is that in that world declarations would be preceded by
CLICK_ALWAYS_INLINE but definitions would be preceded by inline, since the
attribute can not be attached to the definition.

With this solution, CLICK_ALWAYS_INLINE follows the declaration, which
otherwise matches the definition's signature.

Signed-off-by: Derrick Pallas <pallas@meraki.com>
sync: use CLICK_ALWAYS_INLINE on SpinlockIRQ

According to LDD3, spin_lock_irqsave and spin_unlock_irqrestore can break on
some architectures if they are called from different functions.  Also, GCC
ignores inline if it is not optimizing.  This means that SpinlockIRQ is
broken

	1. in the linux module
	2. on those architectures
	3. if the compiler is not optimizing.

This change adds CLICK_ALWAYS_INLINE to SpinlockIRQ::{acquire,release} so
that these methods are inlined even if no optimization level is set.

Signed-off-by: Derrick Pallas <pallas@meraki.com>
Merge pull request #125 from pallas/always-inline-spinlockirq

Always inline SpinlockIRQ