Mega commit: this change is big. it might have some bugs. please tell me when you find it.

[Breaking Compatibility]:
now, numeric number return as string for keeping portability (withaout enum value)

Unfortunatelly, long type always 32bit on Windows 64bit box. It seems impossible to keep portability so
I decided to throw away current types.

targets:
  int32, int64, uint32, uint64, sint32, sint64
  fixed64, sfixed64, double
  fixed32, sfixed32, float

not targets:
  bool, enum

Basically, PHP works fine when caluculating long value and string. so you don't have to worry about this changes.
little bit strange. but string representation is very good solution on PHP.

NOTE: you have to use GMP or BCMath extension when calculating 64bit values correctly.

[New Behavior]:

* ProtoclBuffers accepts string representation numeric values when encoding / decoding message.
  we can handle uint64 value correctly when passing string representation value.
  passing big int value will loose precision (check PHP_INT_MAX)
  forseable future, we raise an exception when passing double value to integer field.

[Fix Bugs]:
* fix #16: now we can handle 64 bit value correctly.
* fix incorrect encode when int32 values.
* fix missing encodings.

[Fix TestCases]:

* don't compare values strictly as we use string representation.
* fix incorrect int32_min fixture
* fix number_larger_2_63-1 test case as it have incorrect (2^64-1)-1024 value.

[Misc]
* Refactor code blocks.