Feature: First cut at Batbridge support

This commit adds naive bytecode translation support for the BatBridge
architecture, but features no real "assemble" routine and no bounds or
type checking on input values besides simple bit masking which ensures
ranges.
Improvement: generated Batbridge code is now predicate descriptive

Instructions for Batbridge are defined in terms of a sequence of
terms, being either numbers or predicates. If a number is provided,
then when the appropriate assemble function is invoked that slot in
the instruction will be filled with the provided constant no questions
asked. Predicates allow for the placement of bounds on the remaining
fields of the instruction thus allowing guards for membership in some
range or set.
Improvement: Tweak to create a "batbridge" record

In the long term I want an entire ISA to come down to a single map
object which can be used by toothpick.core in a standard way to
assemble, encode and decode bytecode formats. This update is a first
step in that direction because it adds all the requisite map structure
for an O(N) serializer and deserializer.
Merge branch 'master' of github.com:arrdem/toothpick