- added some documentation to the code (we're still a long way from a fully documented code)
- refactored all references to be under reference/
- initial support for self_ref and len_ref, which makes the following possible:

    class StringWithLen(Buffer):
            f_int = int_field(where=bytes_ref[0:4], set_before_pack=len_ref(self_ref.f_str))
            f_str = str_field(where=bytes_ref[4:4 + f_int])
- Reference is not using __call__ now, so (future) member function reference via proxy will be possible
- Reference now holds a 'numeric' property, removing the NumericReferenceMixin and the double class per reference type
- fixed tiny safe_repr bugs and a FieldOrAttr call bug
- added support for function calls from self_ref, you can now do:

        class Foo(Buffer):
            a = be_int_field(where=bytes_ref[0:1])
            s = str_field(where=bytes_ref[1:1 + num_ref(self_ref.calc_s_size(a))])

            def calc_s_size(self, a):
                return a * 2
- fixed safe_repr on some objects
- added resolved references in an exception message - it creates a big message but it helps to debug where the problem occurred
update skeleton
Finished release v0.6.16.