lock gpb version in mix.lock to avoid compile error; adding proto directory to define message type; merging latest changes from jw branch.