add Elk base class

Add an Elk base class that can be subclassed as a shorter
alternative to specifying __metaclass__.

Update a test case to exercise this feature.