I think the upgrade process failed trying to do something with the FileVault encryption on the disk, because the disk was left in a weird encryption state that wasn't bootable. I was able to recover my system by reverting the "Macintosh HD" CoreStorage logical volume back into a normal physical volume (which decrypts the volume as part of the "revert" process).
1) Boot into the recovery mode and open the Utilities -> Terminal
2) Run "diskutil cs list" and find the line that shows the logical volume UUID. For example:
Logical Volume 5ACC8C0D-005C-4693-9EC6-9F6725A42D66
The logical volume UUID in this example is 5ACC8C0D-005C-4693-9EC6-9F6725A42D66
diskutil corestorage unlockVolume <UUID> -stdinpassphrase to unlock the volume. When prompted for the passphrase, you need to input the disk encryption passphrase.
diskutil corestorage revert <UUID> -stdinpassphrase to revert the CoreStorage logical volume back into a normal physical volume.
You can see in the photo below, that the conversion process is "Paused":
Since we're running these commands from the recovery partition, I guess the CoreStorage volume manager isn't running by default, so this will just sit here forever in the "Paused" state without actually doing anything...
5) Open a new Terminal tab and run
/usr/libexec/corestoraged in this second terminal window. The
corestoraged volume manager will stay running in this second window until the volume has been completely reverted. Just leave it for now.
corestoraged is running in the second window, switch back to the first terminal window and run
diskutil cs list. You should see that the conversion process has started now! You can keep running the
diskutil cs list command repeatedly to check the status. This will probably take an hour or two to complete.
7) Eventually, the conversion process will complete and the
corestoraged process in the second tab will return to the terminal prompt. If everything worked correctly, when you run
diskutil cs list, you should NOT see any volumes listed.
8) Quit Terminal
9) Go to the Apple icon, choose "Startup Disk" and pick Macintosh HD. Reboot the computer.
10) When the mac restarts, it should boot from the Mackintosh HD instead of the recovery partition. You should now be able to login as normal to the decrypted disk.