persistent_expectations_spec.rb: Tested the number of times that #expecting yields in a more straight-forward way.
Refactored the tests in program_file_spec.rb in anticipation of making a lot more of them and not wanting too much repetition.
Added Instruction#string.  Changed Instruction operand hash to use symbols for keys.
Removed a useless test from program_file_spec.rb and moved a test to the new instruction_spec.rb.
Much better structure for the PIC18 CPFSEQ tests in program_file_spec.rb.
PIC18 disassembly: Made CPFSGT and CPFSLT work the same as CPFSEQ.
Disassembly: Added ADDWFC.
Improved the tests in program_file_spec.rb. by putting GOTO in the right section and adding string tests for the instructions with f and a fields.
program_file_spec.rb: Added (passing) tests for ANDWF, CLRF, and COMF for the PIC18.
program_file_spec.rb: Use describe_instruction everywhere.
Disassembly: Made all the PIC18 byte-oriented operations work.
Alphabetized our list of PIC instructions.
Added a test for the MOVFF instruction string to make it more consistent with the other tests.
Disassembly: made all PIC18 bit-oriented instructions work.
Changed 'rake todo' to check spec and docs as well as lib.
MplabInstruction: Made it correct the value of signed operands.
Disassembly: Made all the PIC18 conditional relative branches work (e.g. BZ).  Along the way, added Transition#next_address so we can get address information of an instruction without disassembling the possibly unimplented or out-of-range instructions it leads to.
PreventingCallStackOverflow.md: Added a note about PUSH and POP.
Disassembly: Got all PIC18 control operations to be interpreted correctly.
Disassembly: Made all PIC18 literal instructions work.