X86-64 syscall numbers

This series starts implementing what I think @rocallahan was describing in his comments on #1206.  (Thanks for fixing up bustage as a result of that, btw.)  Ideally the commit messages for the individual patches should describe what's going on.
Sure, why not? :-)

```C++
#include <stdio.h>
class Fwd1;
template <class F> struct A;
template<> struct A<Fwd1> {
  enum X { p, q, r };
};
int main() {
  printf("%d\n", (int)A<Fwd1>::r);
  return 0;
}
```