Coding and computation with neural spike trains