C3PODataManager interface for Neutron deserializer

Defines common model translation and execution interfaces:
- ApiTranslator[T]: A translator for an operation on an external model
  of type T into 1 or more corresponding operations on internal
  MidoNet models.
- C3PODataManager: Interprets external model operations by using the
  Traslator implementations, and executes corresponding internal
  MidoNet model operations. Provides:
  - flushTopology(): Unit
  - interpretAndExec[T](op: C3POOp[T]): Unit
  - interpretAndExecTxn[T](txnId: String, ops: List[C3POOp[T]]): Unit

Also defines OpType, C3POOp, MidoModelOp, and TranslationException.

Fix MN-2999

Change-Id: I309100791c535ca90b27315fbc5bf93d56b5766c
Merge "C3PODataManager interface for Neutron deserializer"