Digital backend: basic netlist construction and digital primitives

The only primitives supported right now are I/O pins and registers, for simplicity (the other gates are even easier than register, but I kept them out in order to hasten getting initial feedback). So, this touches both #117 and #118.

A number of tests are included against both valid and invalid schematics to check the behaviour of netlist-building. The valid tests are parameterized so that the same "always-true" assertions can be made for each model schematic.

I had to modify the checkstyle config to suppress checks on Netlist.java because of Java 8 parsing issues (#122). This should be reverted when a new version is available that understands Java 8 syntax.
I understand why you're disabling Checkstyle for this file but please continue to adhere to its coding standards. This file is so long it doesn't fit in GitHub's code viewer without horizontal scroll.